all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Travis Foster <tsfoster@mtu.edu>
To: Eli Zaretskii <eliz@gnu.org>, 25348@debbugs.gnu.org
Subject: bug#25348: `display` property faces are prioritized above overlays
Date: Wed, 4 Jan 2017 11:25:54 -0800	[thread overview]
Message-ID: <CADS09+CLuLiUw5YPRtDXNyGJjb2yAGiA=tEW1injyDD8d=pC9w@mail.gmail.com> (raw)
In-Reply-To: <83vatuernc.fsf@gnu.org>

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

> Emacs uses the face from the overlay only for text to which this
> overlay is applied.  The display string is therefore using its own
> face definitions, which completely override those from the hl-line
> overlay.

I just figured that the overlay applies to a range of text, and the
replacement text is within that range ... so it seems like it should be
affected. I guess not, though. So what you're saying is, since the
replacement text is not technically part of the buffer text, it doesn't
count as being within the range of the overlay, and it isn't affected by
the overlay at all? But that's not the case either, because as you also
stated, face attributes from the overlay are applied to the display string,
as long as the display string doesn't already specify those attributes. So,
it seems that the overlay is applied to the display string, but it just
takes a lower priority than the display string's text properties. If that
was the design, that's fine, but it does conflict with the documentation
stating that overlays always take priority over text properties.

I haven't looked at the code for this, so I might be wrong, but what
appears to be happening is this:
1. The overlay is applied to the buffer text, and the overlay face takes
priority over the buffer text's faces
2. If the overlay had a display property, that would take priority over the
buffer text's display property, but since the overlay has no such property,
this doesn't happen
3. After the overlay is applied, the display property is applied, and its
faces take priority over the existing faces, including those supplied by
the overlay

So the priority goes: display property faces > overlay faces > buffer
faces. Am I on the right track?

[-- Attachment #2: Type: text/html, Size: 1896 bytes --]

  reply	other threads:[~2017-01-04 19:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-03 22:17 bug#25348: `display` property faces are prioritized above overlays Travis Foster
2017-01-03 22:29 ` Drew Adams
2017-01-03 22:52   ` Travis Foster
2017-01-04 16:06     ` Eli Zaretskii
2017-01-04 19:25       ` Travis Foster [this message]
2017-01-04 19:55         ` Eli Zaretskii
2017-01-04 21:59           ` Travis Foster
2017-01-05 16:27             ` Eli Zaretskii
2017-01-05 18:10               ` Travis Foster
2019-09-29 16:22       ` Lars Ingebrigtsen

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='CADS09+CLuLiUw5YPRtDXNyGJjb2yAGiA=tEW1injyDD8d=pC9w@mail.gmail.com' \
    --to=tsfoster@mtu.edu \
    --cc=25348@debbugs.gnu.org \
    --cc=eliz@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.