Subject: Re: bug#78953: 31.0.50; tab-bar-format-align-right alignment breaks if field widths change

From: Daniel Mendler <[email-masked]>
Date: Thu, 10 Jul 2025 15:04:12 +0200

Hello Juri,

Daniel Mendler <[email-masked]> writes:
> Juri Linkov <[email-masked]> writes:
>>> Thanks. I think the code should be simplified - in fact it is
>>> problematic like this since it will leak memory, if the string changes,
>>> for example for a timer which counts up, where the same string will only
>>> needed for a short while. A hash table is not needed to memoize a single
>>> pair. It suffices to only store the current string to optimize
>>> redisplay. You could store the string in the car of a cons, and the
>>> width in the cdr.
>>
>> So you meant caching only the last string?  This is implemented now as well.
>
> Yes, this is exactly what I meant. I will test it soon. Thanks again!

I have tested your patches and they work well. No flicker or jumping and
no negative performance impact due. Excellent work - also on the tab-bar
in general! I really appreciate the addition of this feature to Emacs.
It is particularly handy with EXWM where I can use it as system status
bar.

Since we are talking about the tab bar already I have another question -
sometimes (rarely) my tab bar gets too long and then it wraps around,
which I find undesirable. I would prefer if the content were truncated.
I suspect this is harder to address, e.g., via an option
tab-bar-truncate/tab-line-truncate? In any case, this is a rare edge
case in my usage.

Thanks.

> Daniel