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 #23 received at 79141 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 79141 <at> debbugs.gnu.org, Steven Allen <steven <at> stebalien.com>, juri <at> linkov.net
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, 06 Aug 2025 21:47:57 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Cc: Daniel Mendler <mail <at> daniel-mendler.de>, 79141 <at> debbugs.gnu.org
>> Date: Wed, 06 Aug 2025 09:32:19 -0700
>> From:  Steven Allen via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>> 
>> If modifying Emacs core is on the table, the simplest solution I can
>> think of is to:
>> 
>> 1. Have a per-frame cache.
>> 2. Update a global `face-modification-tick' (similar to
>> `buffer-modification-tick') whenever faces are updated, invalidating the
>> cache whenever this changes.
>
> Please be advised that the current code invalidates the frame's face
> cache and frees all the faces whenever some face is changed.  That's
> because we don't currently track face dependencies, and so have no
> idea what other faces will change as result of changing some face.  So
> if you want a more efficient face cache, you first need to solve this
> dependency-tracking issue.

Couldn't this face cache invalidation logic be used here? Whenever such
a face cache invalidation happens, the proposed `face-modification-tick'
variable would be incremented.

Daniel




This bug report was last modified 1 day ago.

Previous Next


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