GNU bug report logs - #46299
28.0.50; Value of tab-bar-show not respected in new frames.

Previous Next

Package: emacs;

Reported by: Bastian Beischer <bastian.beischer <at> gmail.com>

Date: Thu, 4 Feb 2021 16:16:02 UTC

Severity: normal

Tags: fixed

Fixed in version 28.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


Message #89 received at 46299 <at> debbugs.gnu.org (full text, mbox):

From: Bastian Beranek <bastian.beischer <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: martin rudalics <rudalics <at> gmx.at>, 46299 <at> debbugs.gnu.org
Subject: Re: bug#46299: 28.0.50;
 Value of tab-bar-show not respected in new frames.
Date: Fri, 12 Feb 2021 20:23:26 +0100
[Message part 1 (text/plain, inline)]
On Fri, Feb 12, 2021 at 3:47 PM Bastian Beranek
<bastian.beischer <at> gmail.com> wrote:
>
> Hey Juri,
>
> just to let you know, that I've found a problem with my patch on
> text-mode frames. If I create multiple tabs one after another they
> start to appear in a second row and visuals begin to glitch.
>
> I'll try to understand why that is happening.

I found out what the problem was. I had customized
tab-bar-select-tab-modifiers in my .emacs and the :set function of
that variable contained (tab-bar-mode -1) followed by (tab-bar-mode
1). For some reason this caused issues (to reproduce this, apply my
v8.patch, create test.el (as below) and start emacs as follows:

$ cat test.el
(customize-set-variable 'tab-bar-select-tab-modifiers '(super))
(customize-set-variable 'tab-bar-show 1)

$ src/emacs -nw -Q -l test.el
and then create two or more tabs (C-x t 2)

I have now modified the set function to:

diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 87c9fd719d..4e47ae2c10 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -89,8 +89,9 @@ tab-bar-select-tab-modifiers
  :set (lambda (sym val)
         (set-default sym val)
         ;; Reenable the tab-bar with new keybindings
-         (tab-bar-mode -1)
-         (tab-bar-mode 1))
+         (when tab-bar-mode
+           (tab-bar-mode -1)
+           (tab-bar-mode 1)))
  :group 'tab-bar
  :version "27.1")

This seems to fix the issue. I can't say I fully understand why
though. It must have something to do with running
tab-bar--update-tab-bar-lines in early initialization? We could also
wrap the call to tab-bar--update-tab-bar-lines.

Please find the full v9 patch attached.

Cheers
Bastian
[tab-bar_v9.patch (text/x-patch, attachment)]

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

Previous Next


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