Subject: Re: bug#73862: [PATCH] Add `header-line-active` and `header-line-inactive` faces.

From: Aaron Jensen <[email-masked]>
Date: Sun, 8 Dec 2024 12:26:29 -0500

On Sun, Dec 08, 2024 at 8:29 AM, Eshel Yaron <[email-masked]> wrote:

> Eli Zaretskii <[email-masked]> writes:
>
> From: Eshel Yaron <[email-masked]>
> Cc: Aaron Jensen <[email-masked]>, [email-masked],
> [email-masked], [email-masked]
> Date: Sun, 08 Dec 2024 15:11:07 +0100
>
> Eli Zaretskii <[email-masked]> 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