Subject: Re: bug#65896: 30.0.50; folding text with text properties prevents background from extending past the newline

From: Eli Zaretskii <[email-masked]>
Date: Wed, 13 Sep 2023 14:54:00 +0300

> Date: Tue, 12 Sep 2023 16:35:16 -0500
> From: LemonBreezes <[email-masked]>
> Cc: [email-masked]
> 
> This might not sound too clever, but why don't we just make the extend
> property be determined by the first character in the line rather than
> the last character / newline character? 

How can Emacs know, when it processes the first character on a line,
whether the last character on that line will have the same face?

You seem to assume that the Emacs display engine has "global" view of
the line it is processing for display.  But that's not what happens:
the Emacs display is basically a one-pass layout engine whose view of
the text is a peephole whose size is a single character.  The display
engine processes a character, makes all the decisions regarding its
display and layout, then proceeds to the next one, and so on.  When it
gets to the newline that ends a line, it makes the decision whether
the last face it saw needs to be extended, and if so, extends it.