1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-15 17:00:26 +00:00

* lisp/tab-line.el (tab-line-auto-hscroll): Fix for long tab names.

Check for nil value returned by previous-single-property-change that
happens when tab name is longer than window width.
This commit is contained in:
Juri Linkov 2020-01-20 02:35:53 +02:00
parent dde313151d
commit 92f30d62c0

View File

@ -520,12 +520,14 @@ the selected tab visible."
(add-face-text-property (point-min) (point-max) 'tab-line)
(if (> (vertical-motion 1) 0)
(let* ((point (previous-single-property-change (point) 'tab))
(tab-prop (or (get-pos-property point 'tab)
(get-pos-property
(previous-single-property-change point 'tab) 'tab)))
(new-hscroll (seq-position strings tab-prop
(lambda (str tab)
(eq (get-pos-property 1 'tab str) tab)))))
(tab-prop (when point
(or (get-pos-property point 'tab)
(and (setq point (previous-single-property-change point 'tab))
(get-pos-property point 'tab)))))
(new-hscroll (when tab-prop
(seq-position strings tab-prop
(lambda (str tab)
(eq (get-pos-property 1 'tab str) tab))))))
(when new-hscroll
(setq hscroll (- new-hscroll))
(set-window-parameter nil 'tab-line-hscroll hscroll)))
@ -545,12 +547,14 @@ the selected tab visible."
(add-face-text-property (point-min) (point-max) 'tab-line)
(when (> (vertical-motion 1) 0)
(let* ((point (previous-single-property-change (point) 'tab))
(tab-prop (or (get-pos-property point 'tab)
(get-pos-property
(previous-single-property-change point 'tab) 'tab)))
(new-hscroll (seq-position strings tab-prop
(lambda (str tab)
(eq (get-pos-property 1 'tab str) tab)))))
(tab-prop (when point
(or (get-pos-property point 'tab)
(and (setq point (previous-single-property-change point 'tab))
(get-pos-property point 'tab)))))
(new-hscroll (when tab-prop
(seq-position strings tab-prop
(lambda (str tab)
(eq (get-pos-property 1 'tab str) tab))))))
(when new-hscroll
(setq hscroll (- new-hscroll))
(set-window-parameter nil 'tab-line-hscroll hscroll)))))))))