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