all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Lars Ingebrigtsen <larsi@gnus.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 53636@debbugs.gnu.org, tsdh@gnu.org
Subject: bug#53636: 29.0.50; face-remapping broken on master
Date: Wed, 02 Feb 2022 20:48:42 +0100	[thread overview]
Message-ID: <871r0loxr9.fsf@gnus.org> (raw)
In-Reply-To: <83sft15egx.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 02 Feb 2022 20:07:58 +0200")

[-- Attachment #1: Type: text/plain, Size: 1408 bytes --]

Eli Zaretskii <eliz@gnu.org> writes:

>> 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.

I think this would break a lot more than the current situation does.
Lots of people expect these faces to inherit the way they do, and have
set up stuff based on that.  Programmatic remapping of the `mode-line'
face, on the other hand, is a much smaller issue, and we can just say
"use `mode-line-active' instead".

>> 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.

Hm...   That's not quite what I'm seeing with the mode line faces.

In Emacs 28, with

emacs -Q
(face-remap-add-relative 'mode-line 'link-visited)
C-x 5 2


[-- Attachment #2: Type: image/png, Size: 16013 bytes --]

[-- Attachment #3: Type: text/plain, Size: 642 bytes --]


Note that in the other frame (displaying *Messages*), the
mode-line-inactive face has inherited the underline from line-visited.
(If I select that window, then the mode-line face has not, that is just
in the current buffer.)  So remapping a face that has inherited faces
leads to side effects in other places...

Anyway, what I was thinking of is a really simple solution: Have
`face-remap-add-relative' loop over all children and remap them, too.
(I haven't actually attempted to write something like that, though.  😀)

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no

  reply	other threads:[~2022-02-02 19:48 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-30 13:52 bug#53636: 29.0.50; face-remapping broken on master Tassilo Horn
2022-01-30 17:41 ` Lars Ingebrigtsen
2022-01-30 18:27   ` Eli Zaretskii
2022-01-30 18:31     ` Lars Ingebrigtsen
2022-01-30 19:19       ` Eli Zaretskii
2022-01-30 20:25         ` Eli Zaretskii
2022-01-30 20:28           ` Lars Ingebrigtsen
2022-01-31 12:20             ` Eli Zaretskii
2022-01-31 19:44               ` Eli Zaretskii
2022-02-01 19:38                 ` Lars Ingebrigtsen
2022-02-01 20:09                   ` Eli Zaretskii
2022-02-02 17:59                     ` Lars Ingebrigtsen
2022-02-02 18:07                       ` Eli Zaretskii
2022-02-02 19:48                         ` Lars Ingebrigtsen [this message]
2022-02-02 21:12                           ` bug#53636: [External] : " Drew Adams
2022-02-03  6:53                           ` Eli Zaretskii
2022-02-03 19:24                             ` Lars Ingebrigtsen
2022-02-03 19:53                               ` Eli Zaretskii
2022-02-05  6:20                                 ` Lars Ingebrigtsen
2022-02-05  7:50                                   ` Eli Zaretskii
2022-02-05 16:14                                     ` bug#53636: [External] : " Drew Adams
2022-02-05 22:27                                     ` Lars Ingebrigtsen
2022-02-06  7:12                                       ` Eli Zaretskii
2022-02-06 23:16                                         ` Lars Ingebrigtsen
2022-02-07 15:03                                           ` Eli Zaretskii
2022-02-08  6:08                                             ` Lars Ingebrigtsen
2022-02-08  8:58                                               ` martin rudalics
2022-02-08 12:41                                                 ` Eli Zaretskii
2022-02-08 18:24                                                   ` martin rudalics
2022-02-08 18:57                                                     ` Eli Zaretskii
2022-02-08 12:29                                               ` Eli Zaretskii
2022-02-09  8:01                                                 ` Lars Ingebrigtsen
2022-02-09 13:57                                                   ` Eli Zaretskii
2022-02-12 12:20                                                     ` Eli Zaretskii
2022-02-13  8:20                                                       ` Lars Ingebrigtsen
2022-02-13  8:31                                                         ` Tassilo Horn
2022-02-15  9:31                                                           ` Tassilo Horn
2022-02-13 11:58                                                         ` Eli Zaretskii
2022-02-14 10:38                                                           ` Lars Ingebrigtsen
2022-02-03 18:30                           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871r0loxr9.fsf@gnus.org \
    --to=larsi@gnus.org \
    --cc=53636@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=tsdh@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.