emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/visual-filename-abbrev a425598 4/5: Improve previous fi


From: Stefan Monnier
Subject: [elpa] externals/visual-filename-abbrev a425598 4/5: Improve previous fix (which didn't fix all cases)
Date: Sat, 28 Nov 2020 15:05:00 -0500 (EST)

branch: externals/visual-filename-abbrev
commit a4255984fae2c573f613edf79b03d6b4ba011fe2
Author: Tassilo Horn <tsdh@gnu.org>
Commit: Tassilo Horn <tsdh@gnu.org>

    Improve previous fix (which didn't fix all cases)
---
 visual-filename-abbrev.el | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/visual-filename-abbrev.el b/visual-filename-abbrev.el
index 26706f3..30b7d8a 100644
--- a/visual-filename-abbrev.el
+++ b/visual-filename-abbrev.el
@@ -109,15 +109,12 @@ This takes the font into account."
   ;; When activated from a hook, this function may run before the current
   ;; buffer is shown in a window.  In that case, `font-at' would error with
   ;; "Specified window is not displaying the current buffer".
-  (when (eq buffer (current-buffer))
-    ;; NOTE: The docs say that object in an conditional display spec is always
-    ;; a buffer, but actually it sometimes is a window.  See the already fixed
-    ;; bug#34771.
-    (let ((font (font-at pos (if (windowp buffer)
-                                buffer
-                              (get-buffer-window buffer)))))
-      (< (visual-filename-abbrev--get-visual-width abbrev font)
-        (visual-filename-abbrev--get-visual-width filename font)))))
+  (let ((window (selected-window)))
+    (when (and window
+              (eq (window-buffer window) (current-buffer)))
+      (let ((font (font-at pos window)))
+       (< (visual-filename-abbrev--get-visual-width abbrev font)
+          (visual-filename-abbrev--get-visual-width filename font))))))
 
 (defcustom visual-filename-abbrev-predicates
   (list #'visual-filename-abbrev--abbrev-visually-shorter-p)



reply via email to

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