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

From: Eli Zaretskii <[email-masked]>
Date: Wed, 16 Oct 2019 23:03:15 +0300

> 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.

> 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.

> >> 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.