GNU bug report logs - #79141
31.0.50; The tab-bar-format-align-right cache doesn't take face changes and per-frame faces into account

Previous Next

Package: emacs;

Reported by: Steven Allen <steven <at> stebalien.com>

Date: Fri, 1 Aug 2025 20:58:02 UTC

Severity: normal

Fixed in version 31.0.50

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

Full log


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

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Juri Linkov <juri <at> linkov.net>
Cc: Eli Zaretskii <eliz <at> gnu.org>, Steven Allen <steven <at> stebalien.com>,
 79141 <at> debbugs.gnu.org
Subject: Re: bug#79141: 31.0.50; The tab-bar-format-align-right cache
 doesn't take face changes and per-frame faces into account
Date: Wed, 13 Aug 2025 19:19:09 +0200
Juri Linkov <juri <at> linkov.net> writes:

>>> How often your tab-bar is updated?  For frequent string-pixel-width calls
>>> using debounce or throttle like from https://github.com/karthink/timeout
>>> could help.
>>
>> It is recomputed completely on every redisplay. It might be possible to
>> throttle the tab bar recomputation, such that it happens only a few
>> times per second. This will lead to other difficulties however, since in
>> some cases the tab bar should react immediately (e.g., when creating new
>> tabs or when toggling some elements).
>
> What I actually meant is more like setting a short cache eviction time,
> for example 1 sec after changing the faces the tab-bar will be
> in a broken state using an old cached value, but later the width
> will be recomputed and updated.

Yes, this would work, but it might also look a bit broken. A
face-modified-tick sounds like a better solution to me.

Daniel




This bug report was last modified today.

Previous Next


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