Subject: Re: bug#37774: 27.0.50; new :extend attribute broke visuals of all themes and other packages

From: Dmitry Gutov <[email-masked]>
Date: Fri, 18 Oct 2019 17:25:20 +0300

On 17.10.2019 20:23, Eli Zaretskii wrote:

>> After considering it a bit, I might like Firefox-like behavior for the
>> region personally.
> 
> That's what happened to me as well.  So I think people who are
> claiming it's a breaking change might try running with the change for
> a week or so, perhaps they will change their minds.

FWIW my friend is adamant in his dislike, however. I'm sure there will 
be others.

But that's of no import, considering we'll make sure the 'region' face 
has the :extend property set to t even when a third-party theme is used, 
right?

>> Even so, it might be safer to only offer such option and not change
>> it by default.
> 
> We did, for the 'region' face.

Speaking of... it might be just my opinion, but it feels like whether a 
face background should extend to the edge of the screen is more of a 
structural quality, like a personal choice, and not something that 
themes (being color palettes) should define or redefine.

So maybe I would pick a different mechanism instead of a face attribute. 
E.g. just a property on the face's symbol name. Then it won't be 
affected by custom-set-faces either way.

Or another idea: split it into extend-foreground and extend-background. 
As someone remarked in this thread already, extend-foreground can safely 
default to nil, and we can set extend-background to t by default, for 
maximum backward compatibility.

>> This example was about how diff-mode behavior did/should look, though.
> 
> We could consider individual faces for making them extend by default.
> But there's a more general claim in this bug report: that the change
> will screw many unbundled packages out there; if that is true,
> changing some faces in core is not a solution.

Magit and Org will probably take the brunt of the change.