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


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Daniel Mendler <mail <at> daniel-mendler.de>, steven <at> stebalien.com, 79141 <at> debbugs.gnu.org
Subject: bug#79141: 31.0.50; The tab-bar-format-align-right cache doesn't take face changes and per-frame faces into account
Date: Sun, 10 Aug 2025 21:52:32 +0300
>> >> 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.
>
> I don't quite understand what would that tick be used for, but we
> already have in Emacs indications that the face cache was invalidated,
> so maybe there's no need for introducing that tick.

Are these indications exposed to Lisp?




This bug report was last modified 2 days ago.

Previous Next


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