Apologies for top posting, on my phone. I should note that my actual tab function has text as well (the tab name) and then I add a space at the end. The spaces are just visual padding.


Aaron

On Sat, Nov 12 2022 at 1:33 PM, Juri Linkov <juri@linkov.net> wrote:

My tab-bar-tab-name-format-function causes 100% cpu spin as of ca3763af5c. Disabling tab-bar-auto-width fixes it.

>

To repro: emacs -Q -l repro.el

>

repro.el:

>

(defun aj/tab-bar-tab-name-format (tab i)
(propertize
(propertize " " 'display '(space :width (8)))
'face (funcall tab-bar-tab-face-function tab)))

>

(setq tab-bar-tab-name-format-function #'aj/tab-bar-tab-name-format)

>

(tab-bar-mode)

Thanks for the bug report. Since with
(propertize " " 'display '(space :width (8))) the tab width can't grow more than 8 pixels,
a possible fix would be on every iteration
that adds more spaces to the tab name
to check if the tab width remains the same.