It's MAYBE a bug#62575 ( reported 2023-03-31 )
Below the steps required to reproduce the bug:
- ~ $ emacs -Q
- Menu -> Options -> Show/Hide -> Tab Bar (gives Tab scratch)
- 1x click on rightmost * in the Tab Bar to create a new Tab (gives 2x scratch Tabs)
- With the rightmost (second) Tab open ~/.emacs (gives 1x scratch and 1x .emacs Tabs)
- 2x click on rightmost * in the Tab Bar to create twp new Tabs (gives 1x scratch and 3x .emacs Tabs)
- with rightmost Tab active kill the .emacs buffer [C-x k] (the Tabs label turns to *scratch the other two Tabs labeled .emacs keep their labels, so there are 1x scratch, 2x .emacs, 1x scratch Tabs)
- click the second Tab labeled .emacs' (result: the label of the Tab turns to Messages. the Tab Bar shows scratch Messages .emacs scratch )
The bug: the third Tab still keeps its .emacs label and the click on the second Tab labeled .emacs does not show the .emacs file, but the buffer Messages.
Below the responseresponses from the Emacs development team:
Can reproduce in 30 (db7e95531ac36ae842787b6c5f2859d0642c78cc) and 28.2
(tagged) -- so even if this is a regression, it would not be a recent
one.
Essentially, the reported bug can be summarized as: the tab names on a
tab bar do not respond to situations where a buffer has been deleted.
In addition, I noticed that this behavior extends to renaming a buffer
as well (tried it in 30, not in 28.2). The reproducer is to replace (6)
above with the following, and observe that the other tabs do not update
their names until you click on them.
C-x x r hello RET
After looking at the code, I'm not sure this is a bug. The tab names are just labels, although they are conveniently set to the name of the buffer in the window to be selected when the tab is current. But otherwise they are just labels. When you click on the tab, its name is updated to reflect the buffer shown in the selected window, so I think Emacs is behaving correctly, although it might be a bit
unexpected.