Subject: Re: bug#4710: 23.1.50; Bad display of underlines crossing line boundaries

From: Eli Zaretskii <[email-masked]>
Date: Thu, 14 Jul 2016 18:15:17 +0300

> From: Noam Postavsky <[email-masked]>
> Date: Thu, 14 Jul 2016 07:45:32 -0400
> Cc: Lars Magne Ingebrigtsen <[email-masked]>,
> 	Stefan Monnier <[email-masked]>, [email-masked]
> 
> Hmm, seems somewhat related to
> http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23574 (that one is about
> underline from the end of line to the edge of screen, this one is
> about underline from beginning of next line). Perhaps the new
> defcustom discussed there
> (http://debbugs.gnu.org/cgi/bugreport.cgi?bug=23574#67) should cover
> this too?

No, it won't.  Face extension to the end of line uses a separate
mechanism, because it determines the way we draw the part of the
screen where there's no text at all.

By contrast, the issue in this report is with drawing of characters
that are part of buffer text, or are determined by text properties or
overlays associated with buffer text.  For these, the display engine
follows a very simple strategy: it uses the same face until it gets to
a buffer position where the face changes, at which point it also finds
the next position where the face changes, and stores that position in
the iterator object used to traverse the text to be displayed.  Rinse,
repeat.  So disabling that will need a separate solution, at least
implementation-wise.