emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question about display engine


From: Eli Zaretskii
Subject: Re: Question about display engine
Date: Wed, 07 Aug 2019 19:41:25 +0300

> Cc: address@hidden
> From: martin rudalics <address@hidden>
> Date: Wed, 7 Aug 2019 18:25:37 +0200
> 
>  > And, of course, this leaves the more general problem I described in my
>  > message: what is the right behavior for extending the face that
>  > crosses a newline.  (Note that the display engine in general doesn't
>  > know whether a face that doesn't end before a newline will or won't
>  > continue on the next screen line.)
> 
> Recalling your proposal
> 
> (defcustom face-extend-to-window-edge t
>     "Non-nil means extend face of last character on line to window edge.

Thanks for the reminder.

> Certain face attributes, if present in the face of the last character
> of a line and different from those of the default face, cause the
> empty space following the end of text on the line to be drawn with
> those attributes, to give the empty space appearance similar to that
> of the preceding text.  These attributes are those which affect the
> background of a face: `:background', `:stipple', `:box', `:underline',
> `:overline', and `:strike-through'.  By default, if the face of a
> line's last character has any of these attributes, and the value is
> different from that of the default face, the empty space following the
> line's text will be drawn in the face of the last character.

This is inaccurate, I think: on GUI frames only :background and :box
are extended all the way, the rest only "infect" the glyph we add for
displaying the newline.

> This variable allows fine-tuning which attributes trigger the face
> extension.  The default value of t means any of the mentioned
> attributes will cause face extension.  The value of nil means face
> extension is turned off.  A value that is a list of attributes will
> extend the face only if any of the attributes from the list are
> present in the last character's face.  Note that only attributes from
> the above list are meaningful in list values of this variable.")
> 
> in the discussion of Bug#23574.

And I think we need to consider the case of the region using one of
the attributes that are not in the list.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]