On Sun, Dec 08, 2024 at 8:29 AM, Eshel Yaron <me@eshelyaron.com> wrote:

Eli Zaretskii <eliz@gnu.org> writes:

From: Eshel Yaron <me@eshelyaron.com>
Cc: Aaron Jensen <aaronjensen@gmail.com>, monnier@iro.umontreal.ca, trevor.m.murphy@gmail.com, 73862@debbugs.gnu.org
Date: Sun, 08 Dec 2024 15:11:07 +0100

Eli Zaretskii <eliz@gnu.org> writes:

We also haven't yet heard from Eshel.

I don't have any concrete suggestions at this point. It's surely a complicated situation.

Did you try the patch I posted, and if you did, did it resolve your original problems?

I did now, and it doesn't entirely solve the problem: with this patch, after remapping header-line in one buffer, the remapping now works for that buffer as expected, but it still also "spreads" to other buffers, which is unexpected.


I see the leak now as well. When I tested it at first, I did not see it perhaps because I did not switch back to the original window and trigger a computation of the basic faces. That's what causes the leak.

Steps:

(setq header-line-format "Some header")
(face-remap-set-base 'header-line 'highlight)
(switch-to-buffer-other-window "new")
;; In new buffer/window:
(setq header-line-format "Some header")
(other-window)
;; In original buffer/window:
(set-face-attribute 'default nil :height (+ (face-attribute 'default :height) 10))

Aaron