emacs-diffs
[Top][All Lists]
Advanced

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

master fe7ae74: * lisp/tab-line.el (tab-line-format): Use composite cach


From: Juri Linkov
Subject: master fe7ae74: * lisp/tab-line.el (tab-line-format): Use composite cache key (bug#38522)
Date: Sun, 8 Dec 2019 17:09:07 -0500 (EST)

branch: master
commit fe7ae74c0b0b40dff4af8fa46da8f5f537bb99a0
Author: Juri Linkov <address@hidden>
Commit: Juri Linkov <address@hidden>

    * lisp/tab-line.el (tab-line-format): Use composite cache key (bug#38522)
---
 lisp/tab-line.el | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index d080da1..914cf13 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -417,8 +417,7 @@ variable `tab-line-tabs-function'."
 
 (defun tab-line-format-template (tabs)
   "Template for displaying tab line for selected window."
-  (let* ((window (selected-window))
-         (selected-buffer (window-buffer window))
+  (let* ((selected-buffer (window-buffer))
          (separator (or tab-line-separator (if window-system " " "|")))
          (hscroll (window-parameter nil 'tab-line-hscroll))
          (strings
@@ -471,11 +470,15 @@ variable `tab-line-tabs-function'."
 
 (defun tab-line-format ()
   "Template for displaying tab line for selected window."
-  (let ((tabs (funcall tab-line-tabs-function))
-        (cache (window-parameter nil 'tab-line-cache)))
-    (or (and cache (equal (car cache) tabs) (cdr cache))
-        (cdr (set-window-parameter nil 'tab-line-cache
-               (cons tabs (tab-line-format-template tabs)))))))
+  (let* ((tabs (funcall tab-line-tabs-function))
+         (cache-key (list tabs
+                          (window-buffer)
+                          (window-parameter nil 'tab-line-hscroll)))
+         (cache (window-parameter nil 'tab-line-cache)))
+    (or (and cache (equal (car cache) cache-key) (cdr cache))
+        (cdr (set-window-parameter
+              nil 'tab-line-cache
+              (cons cache-key (tab-line-format-template tabs)))))))
 
 
 (defcustom tab-line-auto-hscroll t



reply via email to

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