GNU bug report logs - #39649
27.0.60; tab-line doesn't scroll

Previous Next

Package: emacs;

Reported by: João Guerra <joca.bt <at> gmail.com>

Date: Mon, 17 Feb 2020 18:53:01 UTC

Severity: normal

Found in version 27.0.60

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: João Guerra <joca.bt <at> gmail.com>
Cc: 39649 <at> debbugs.gnu.org
Subject: bug#39649: 27.0.60; tab-line doesn't scroll
Date: Tue, 18 Feb 2020 01:03:12 +0200
> tab-line doesn't scroll despite tab-line-auto-hscroll being set to t.
>
> When having several buffers open and switching to one that is not
> currently visible in the tab-line the tab-line won't auto-scroll.

This is an intentional feature: auto-scroll is disabled after
the first time when you scroll the tab-line manually.

Otherwise you won't be able to scroll the tab-line with the
mouse-wheel or using the arrow buttons when auto-scrolling
is still in effect during manual scrolling.

You can reset auto-scrolling by evaluating in e.g. ‘M-:’

  (set-window-parameter nil 'tab-line-hscroll nil)

But indeed this is not right way to do this - it should automatically
reset auto-scrolling at some time afterwards after finishing manually
scrolling the tab-line.  I was unable to find such a natural event on which
to reset auto-scrolling - there are too many different possible events to
choose from.  One of the most natural is to reset auto-scrolling after
manually selecting a tab.

Could you please try this patch to see if it solves your problem:

diff --git a/lisp/tab-line.el b/lisp/tab-line.el
index 8f1221abe4..86ac234f3d 100644
--- a/lisp/tab-line.el
+++ b/lisp/tab-line.el
@@ -600,6 +600,7 @@ tab-line-select-tab
   (let* ((posnp (event-start e))
          (tab (get-pos-property 1 'tab (car (posn-string posnp))))
          (buffer (if (bufferp tab) tab (cdr (assq 'buffer tab)))))
+    (set-window-parameter nil 'tab-line-hscroll nil)
     (if buffer
         (tab-line-select-tab-buffer buffer (posn-window posnp))
       (let ((select (cdr (assq 'select tab))))





This bug report was last modified 4 years and 282 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.