[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#53636: 29.0.50; face-remapping broken on master
From: |
Eli Zaretskii |
Subject: |
bug#53636: 29.0.50; face-remapping broken on master |
Date: |
Wed, 02 Feb 2022 20:07:58 +0200 |
> From: Lars Ingebrigtsen <larsi@gnus.org>
> Cc: 53636@debbugs.gnu.org, tsdh@gnu.org
> Date: Wed, 02 Feb 2022 18:59:49 +0100
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > If we want to solve this cleanly and radically, I'd prefer to break
> > the vicious circle by removing the inheritance from basic faces
> > altogether. The basic faces are just that: they aren't supposed to
> > inherit from other basic faces. That would also decouple header-line
> > and everything else as a side effect.
>
> OK, you want to change the header-line and mode-line-inactive faces so
> that they no longer inherit from the mode-line face?
Yes, I think this is the best way forward. Though it will be somewhat
backward-incompatible, if someone customizes mode-line and expects
header-line to follow suit.
> But they aren't the only basic faces that have this problem --
> `tab-line' inherits from `variable-pitch', for instance.
We should "un-inherit" all of the basic faces.
> > That's how face-remapping-alist takes its effect. If you want this to
> > work for inherited faces, you must do this for the parent face,
> > recursively, before you do it for the face in which you are
> > interested. You want to add the inheritance-chasing loop to basic
> > face look up? I don't.
>
> No, I don't. I was thinking of altering `face-remap-add-relative' so
> that it resolves the faces that inherit instead of leaving it to
> redisplay.
I don't think this can work, because that would mean the original face
will be affected by remapping, won't it? Face remapping is
buffer-local, whereas faces are defined for the entire frame. So we
cannot affect the original face and keep the effect buffer-local. And
if we produce a different face symbol and modify it instead, then
references to the original face symbol will not be redirected to the
remapped face.
- bug#53636: 29.0.50; face-remapping broken on master, Lars Ingebrigtsen, 2022/02/01
- bug#53636: 29.0.50; face-remapping broken on master, Eli Zaretskii, 2022/02/01
- bug#53636: 29.0.50; face-remapping broken on master, Lars Ingebrigtsen, 2022/02/02
- bug#53636: 29.0.50; face-remapping broken on master,
Eli Zaretskii <=
- bug#53636: 29.0.50; face-remapping broken on master, Lars Ingebrigtsen, 2022/02/02
- bug#53636: [External] : bug#53636: 29.0.50; face-remapping broken on master, Drew Adams, 2022/02/02
- bug#53636: 29.0.50; face-remapping broken on master, Eli Zaretskii, 2022/02/03
- bug#53636: 29.0.50; face-remapping broken on master, Lars Ingebrigtsen, 2022/02/03
- bug#53636: 29.0.50; face-remapping broken on master, Eli Zaretskii, 2022/02/03
- bug#53636: 29.0.50; face-remapping broken on master, Lars Ingebrigtsen, 2022/02/05
- bug#53636: 29.0.50; face-remapping broken on master, Eli Zaretskii, 2022/02/05
- bug#53636: [External] : bug#53636: 29.0.50; face-remapping broken on master, Drew Adams, 2022/02/05
- bug#53636: 29.0.50; face-remapping broken on master, Lars Ingebrigtsen, 2022/02/05
- bug#53636: 29.0.50; face-remapping broken on master, Eli Zaretskii, 2022/02/06