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

From: Ergus <[email-masked]>
Date: Wed, 16 Oct 2019 22:29:08 +0200

On Wed, Oct 16, 2019 at 11:03:15PM +0300, Eli Zaretskii wrote:
>> From: Juri Linkov <[email-masked]>
>> Cc: [email-masked],  [email-masked],  [email-masked]
>> Date: Wed, 16 Oct 2019 22:46:55 +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?
>
>> >> Soon I tired fixing their customizations one by one manually,
>> >
>> > Which other faces needed to be "fixed", how, and why?
>>
>> 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 think the objections are mostly because of the surprising new
>appearance.
>
Agree. I also asked in the emacs telegram group and in general many
people prefer that "the selection looks like in vim"

>> All complaints are only about extending background colors to EOL.
>
>We've been discussing this only for a day.  So whether all the
>complaints are about the background remains to be seen.  It could be
>because most of our faces only specify colors, for example.
>
The mode maintainers (like diff mode) will update their mode's faces if
they find that more convenient.

>> >> This screenshot demonstrates how badly broken these blocks are now
>> >> in diff-mode that it makes harder to read diffs:
>> >
>> > I'm sorry, but I don't see why it is broken or hard to read.
>>
>> 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.
>
>> >> Ideally to be more nice-looking, background colors in such faces should be
>> >> extended to the column defined e.g. by display-fill-column-indicator-column.
>> >
>> > That would be ugly if the line's text extends beyond the fill-column,
>> > no?  Also, it would look even uglier with variable-pitch fonts.
>>
>> 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.