emacs-diffs
[Top][All Lists]
Advanced

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

master e94f08b2d9: * lisp/tab-line.el: Support non-buffer tabs in some t


From: Juri Linkov
Subject: master e94f08b2d9: * lisp/tab-line.el: Support non-buffer tabs in some tab face functions.
Date: Tue, 1 Feb 2022 14:43:22 -0500 (EST)

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

    * lisp/tab-line.el: Support non-buffer tabs in some tab face functions.
    
    (tab-line-tab-face-special, tab-line-tab-face-modified): For non-buffer tabs
    when 'tab-line-tabs-function' is e.g. 'tab-line-tabs-buffer-groups',
    try to get the buffer from the property 'buffer'.
    https://lists.gnu.org/archive/html/emacs-devel/2022-01/msg01923.html
---
 lisp/tab-line.el | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index 1c1217cdf6..24033945f0 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -558,8 +558,9 @@ inherit from `tab-line-tab-inactive-alternate'.  For use in
 When TAB is a non-file-visiting buffer, make FACE inherit from
 `tab-line-tab-special'.  For use in
 `tab-line-tab-face-functions'."
-  (when (and buffer-p (not (buffer-file-name tab)))
-    (setf face `(:inherit (tab-line-tab-special ,face))))
+  (let ((buffer (if buffer-p tab (cdr (assq 'buffer tab)))))
+    (when (and buffer (not (buffer-file-name buffer)))
+      (setf face `(:inherit (tab-line-tab-special ,face)))))
   face)
 
 (defun tab-line-tab-face-modified (tab _tabs face buffer-p _selected-p)
@@ -567,8 +568,9 @@ When TAB is a non-file-visiting buffer, make FACE inherit 
from
 When TAB is a modified, file-backed buffer, make FACE inherit
 from `tab-line-tab-modified'.  For use in
 `tab-line-tab-face-functions'."
-  (when (and buffer-p (buffer-file-name tab) (buffer-modified-p tab))
-    (setf face `(:inherit (tab-line-tab-modified ,face))))
+  (let ((buffer (if buffer-p tab (cdr (assq 'buffer tab)))))
+    (when (and buffer (buffer-file-name buffer) (buffer-modified-p buffer))
+      (setf face `(:inherit (tab-line-tab-modified ,face)))))
   face)
 
 (defun tab-line-tab-face-group (tab _tabs face _buffer-p _selected-p)



reply via email to

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