emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master e6df5a3: * lisp/tab-line.el (tab-line-mode): Preserve existing va


From: Juri Linkov
Subject: master e6df5a3: * lisp/tab-line.el (tab-line-mode): Preserve existing value of tab-line-format
Date: Sun, 14 Nov 2021 13:36:16 -0500 (EST)

branch: master
commit e6df5a32d07564115488643206396ba0c28decf2
Author: Juri Linkov <juri@linkov.net>
Commit: Juri Linkov <juri@linkov.net>

    * lisp/tab-line.el (tab-line-mode): Preserve existing value of 
tab-line-format
    
    Keep the old value of tab-line-format when enabling tab-line-mode
    and don't overwrite it with nil when disabling tab-line-mode (bug#51830).
---
 lisp/tab-line.el | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index 5affae7..110c6e9 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -893,7 +893,14 @@ sight of the tab line."
 (define-minor-mode tab-line-mode
   "Toggle display of tab line in the windows displaying the current buffer."
   :lighter nil
-  (setq tab-line-format (when tab-line-mode '(:eval (tab-line-format)))))
+  (let ((default-value '(:eval (tab-line-format))))
+    (if tab-line-mode
+        ;; Preserve the existing tab-line set outside of this mode
+        (unless tab-line-format
+          (setq tab-line-format default-value))
+      ;; Reset only values set by this mode
+      (when (equal tab-line-format default-value)
+        (setq tab-line-format nil)))))
 
 (defcustom tab-line-exclude-modes
   '(completion-list-mode)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]