GNU bug report logs -
#25348
`display` property faces are prioritized above overlays
Previous Next
Reported by: Travis Foster <tsfoster <at> mtu.edu>
Date: Tue, 3 Jan 2017 22:22:02 UTC
Severity: minor
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> From: Travis Foster <tsfoster <at> mtu.edu>
> Date: Tue, 3 Jan 2017 14:52:26 -0800
>
> Yes, the text in the buffer is replaced by its display text, with the face. Then, I would expect the overlay to apply
> to all the text on the line, including the replacement text. Since the properties in overlays are supposed to take
> priority over the properties in the buffer itself, I don't think it makes sense for the replacement to take priority
> over the overlay. Is that wrong?
Drew is right: the priority of overlays over text properties only
comes into play when both text properties and overlays are set on the
same region of text. In your case, the 'face' property is put on a
display string, whereas the hl-line overlay is on buffer text. So
priority considerations don't apply here.
> It seems that the replacement should occur, and then the resulting
> text should be modified further by the overlay.
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.
If you define a face for the display string that only specifies a
foreground color, then Emacs will use the hl-line overlay for the
background color.
This is normal operation of the Emacs display engine, it has been like
that since Emacs 21. IOW, this is not a bug.
This bug report was last modified 5 years and 238 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.