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

From: Juri Linkov <[email-masked]>
Date: Wed, 16 Oct 2019 23:23:14 +0300

>> > I'm not sure I understand: the region face is defined to be extended
>> > beyond EOL.  How does custom-set-faces enter this picture, and why did
>> > you need to do anything about the customized faces?
>> 
>> The region face customized long ago in the init file
>> has no ':extend t' face attribute, e.g.
>> 
>> (custom-set-faces
>>  '(region ((((class color) (background light)) (:background "gray90"))))
>
> So maybe we should modify custom-set-faces to preserve the :extend
> attribute?  Would that solve the problem?

I don't know how feasible this is.  This looks like a hack.

>> All diff faces and faces that have a distinct background color
>> like 'comint-highlight-input' (should extend to window edge
>> to help locating visually the command line in shell buffers),
>> 'org-block' (because it highlights code blocks), 'xref-file-header'
>> for the same reason as diff faces, i.e. faces that highlights blocks.
>
> I don't think I agree.  I'm not convinced by the reasons, and I find
> the new appearance not worse (and sometimes better) than the old.

I find the new appearance better too in most cases, but not
for background colors.

>> Because there is no distinctive rectangular header anymore,
>> and no diff hunk blocks.
>
> Sorry, I don't think I follow: how do you mean there's no distinctive
> header and no diff hunk blocks?  I see them quite clearly.

I meant a rectangular header like in other applications.

>> Extending to the fill-column could be an optional feature.
>
> But above you mention it as the default.  If it's an option, then it
> cannot be a solution to the problems we are discussing.

Extending to fill-column could be optional.  Extending to window edge
could be default for faces with distinct background colors.  Extending to
EOL could be default for all other faces.