From: Juri Linkov Date: Tue, 1 Feb 2022 19:42:51 +0000 (+0200) Subject: * lisp/tab-line.el: Support non-buffer tabs in some tab face functions. X-Git-Tag: emacs-29.0.90~2593 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e94f08b2d9b3dc77b5ffc609b62f54f9730895ef;p=emacs.git * 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 --- diff --git a/lisp/tab-line.el b/lisp/tab-line.el index 1c1217cdf6e..24033945f09 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)