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

From: Eshel Yaron <[email-masked]>
Date: Sun, 08 Dec 2024 15:11:07 +0100

Hi,

Eli Zaretskii <[email-masked]> writes:

>> From: Aaron Jensen <[email-masked]>
>> Date: Sat, 7 Dec 2024 14:06:35 -0500
>> Cc: [email-masked], [email-masked], [email-masked], 
>> 	[email-masked]
>> 
>> Would it make sense to extend the face doc strings that should not use
>> inheritance to indicate that?
>
> I'm not sure.  Inheritance does work for the basic faces, it's just
> that face-remapping doesn't get passed by inheritance.
>
>> Alternatively, if there were a path to deprecating header-line and
>> mode-line then the compatibility fix could be skipped.
>
> Let's see what Stefan and others think about this.
>
> We also haven't yet heard from Eshel.

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

The workaround of remapping both header-line-active and
header-line-inactive instead of header-line seems to work.  The way I
see it, the essence of the issue is that the "face" abstraction is
leaky, in the sense that some faces (these "basic faces") behave
differently from other faces in some cases that involve inheritance and
remapping.  I think this calls for either changing the way basic faces
are handled so they do behave like any other face, or clearly
documenting their subtleties.

Eshel