[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#66678: 30.0.50; Tabs close erratically in text terminal
From: |
Eli Zaretskii |
Subject: |
bug#66678: 30.0.50; Tabs close erratically in text terminal |
Date: |
Sun, 22 Oct 2023 15:17:23 +0300 |
> From: Petteri Hintsanen <petterih@iki.fi>
> Date: Sun, 22 Oct 2023 14:21:16 +0300
>
> I'm running Emacs in xterm with xterm-mouse-mode and tab-bar-mode
> enabled. There, tabs have an "x" mark for closing them. However, tabs
> will also close if you click on the character position right after the
> buffer name in the tab. This makes it easy to unintentionally close a
> tab instead of switching to it, which is very annoying.
>
> Recipe:
>
> - In xterm, start emacs by `emacs -Q -nw'.
> - M-x xterm-mouse-mode
> - M-x tab-bar-mode
> - Create a new tab by clicking on "+" on the tab bar.
> Now you should have two tabs named `*scratch*'
> - Click on the first (leftmost) tab right after the second asterisk.
>
> Expected behavior: Leftmost tab is selected.
> Actual behavior: Leftmost tab is closed.
This is not specific to xterm or xterm-mouse, it happens with any
mouse-equipped text-mode terminal. It happens in Emacs 29 as well.
> I traced the issue to `tab-bar-auto-width' function which — I think — is
> used to pad a tab text with spaces to make it have a uniform width
> within the tab bar. The function erroneously copies 'close-tab text
> property from the close button text (tab-bar-close-button) and positions
> it right after the buffer name, causing the said behavior.
>
> The attached patch fixes the immediate issue, but I doubt if it is
> sufficient, given that there is similar close tab-related logic elsewhere
> in the code. Another workaround is to set `tab-bar-close-button' to one
> character string "x" instead of " x".
Juri, please install the fix you think is appropriate on the emacs-29
branch, since the problem exists there as well.
Thanks.