Subject: bug#39360: Add :extend attribute to show-paren-mode expression face

From: Eli Zaretskii <[email-masked]>
Date: Fri, 31 Jan 2020 17:32:42 +0200

> Cc: [email-masked]
> From: Clément Pit-Claudel <[email-masked]>
> Date: Fri, 31 Jan 2020 09:52:25 -0500
> 
> > Please describe a use case where this problem shows up, I'm not sure I
> > understand it completely.  More accurately, I don't think I understand
> > why you think we must have the previous behavior with this face,
> > i.e. why the new behavior is "wrong".
> 
> Unless people were complaining about the old behavior for this particular face, I think that behavior was fine.

IMO it was not fine, because Emacs was behaving differently from every
other application out there which supports some form of highlighting
text that spans several lines.  The old behavior was also inconsistent
between different face attributes: background color behaved
differently from underline, for example, and GUI frames behaved
differently from TTY frames.

> More to the point, though, since the newline is inside the parentheses, it makes sense to me to extend the highlight continuously up to the edge of the window.

The newline is inside the parentheses, but the empty space to the
right of the newline is not part of the text.  Why should it be
highlighted?

> >> I might have missed discussions about this; is there a reason why :extend t isn't the default?
> > 
> > Because the whole idea of introducing :extend was that almost all
> > faces don't need this attribute.
> 
> I see.  The new default looks weird to me, but I'm sure I'll get used to it.

The question I'd like to ask is whether you'll get used to it wrt the
show-paren-mode face.

> Is there a reason to highlight one blank space at the end of each line, though, instead of only highlighting the text?

That blank space stands for the newline, so if the newline has that
face, the space glyph at EOL gets highlighted to indicate that fact.