unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Gregory Heytings <ghe@sdf.org>
Cc: emacs-devel@gnu.org
Subject: Re: buffer-face-set changes the fringe, is it a bug?
Date: Tue, 07 Jul 2020 21:34:32 +0300	[thread overview]
Message-ID: <834kqjrx6v.fsf@gnu.org> (raw)
In-Reply-To: <alpine.NEB.2.21.2007071714390394.7274@sdf.lonestar.org> (emacs-devel@gnu.org)

> Date: Tue, 7 Jul 2020 17:47:55 +0200 (CEST)
> From: Gregory Heytings via "Emacs development discussions." <emacs-devel@gnu.org>
> 
> >  (set-face-attribute 'fringe nil :background "red")
> >  (let ((o (make-overlay 0 1)) (s "_"))
> >    (put-text-property 0 1 'display '(left-fringe question-mark) s)
> >    (overlay-put o 'after-string s)
> >    (set-face-foreground 'default "green"))
> >
> 
> Why did you change my code, which demonstrated the problem, into another 
> one which indeed does not show the problem?

Because I tried to explain something, in the text that you removed.

> Try this:
> 
> (set-face-attribute 'fringe nil :background "red" :foreground "blue")
> (let ((o (make-overlay 0 1)) (s "_"))
>    (put-text-property 0 1 'display '(left-fringe question-mark) s)
>    (overlay-put o 'after-string s))
> (progn (set-face-background 'default "yellow") (set-face-foreground 'default "red")) [1]
> (face-remap-add-relative 'default '(:background "yellow" :foreground "red")) [2]
> 
> After [1] the behavior is what I expect: red on yellow in the buffer, blue 
> on red in the fringe.

Certainly: since in this example the 'fringe' face defines both the
foreground and the background colors, none of the colors of the
'default' face show.

> After [2] the behavior is *not* what I expect anymore: red on yellow in 
> the buffer, red on yellow for the question mark in the fringe (the other 
> parts of the fringe remain red, and other bitmaps in the fringe, e.g. 
> curly arrows, remain blue on a red background).

Because now what you call 'default' is not the original 'default'
face, it's a new face created by face-remapping machinery.



  reply	other threads:[~2020-07-07 18:34 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-05  8:56 buffer-face-set changes the fringe, is it a bug? Gregory Heytings via Emacs development discussions.
2020-07-05 10:50 ` Eli Zaretskii
2020-07-05 12:43   ` Gregory Heytings via Emacs development discussions.
2020-07-05 15:32     ` Eli Zaretskii
2020-07-05 16:25       ` Gregory Heytings via Emacs development discussions.
2020-07-05 16:40         ` Eli Zaretskii
2020-07-05 16:59           ` Gregory Heytings via Emacs development discussions.
2020-07-05 17:24             ` Eli Zaretskii
2020-07-06 12:22       ` Gregory Heytings via Emacs development discussions.
2020-07-06 16:41         ` Eli Zaretskii
2020-07-06 17:08           ` Gregory Heytings via Emacs development discussions.
2020-07-06 18:08             ` Eli Zaretskii
2020-07-06 18:55               ` Gregory Heytings via Emacs development discussions.
2020-07-07 12:59                 ` Gregory Heytings via Emacs development discussions.
2020-07-07 14:59                   ` Eli Zaretskii
2020-07-07 15:47                     ` Gregory Heytings via Emacs development discussions.
2020-07-07 18:34                       ` Eli Zaretskii [this message]
2020-07-07 18:47                         ` Gregory Heytings via Emacs development discussions.
2020-07-07 19:20                           ` Eli Zaretskii
2020-07-07 19:44                             ` Gregory Heytings via Emacs development discussions.
2020-07-08  2:24                               ` Eli Zaretskii
2020-07-08  6:55                                 ` Gregory Heytings via Emacs development discussions.
2020-07-08  7:00                                   ` Gregory Heytings via Emacs development discussions.
2020-07-08 14:41                                     ` Eli Zaretskii
2020-07-09  3:01                                       ` Richard Stallman
2020-07-09  7:01                                         ` Gregory Heytings via Emacs development discussions.
2020-07-09 17:17                                           ` Eli Zaretskii
2020-07-09 17:14                                         ` Eli Zaretskii
2020-07-10 10:24                                           ` Gregory Heytings via Emacs development discussions.

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=834kqjrx6v.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=ghe@sdf.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).