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

From: Eli Zaretskii <[email-masked]>
Date: Thu, 17 Oct 2019 09:40:25 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked],  [email-masked],  [email-masked]
> Date: Wed, 16 Oct 2019 23:23:14 +0300
> 
> >> (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.

Why do you think it's a hack?

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

I'm talking specifically about background colors: I find the
appearance not worse and sometimes better.

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

But if the faces are customized to have a distinct foreground color,
instead of background, you will see exactly what you see now with the
background color.  The terminal display of "git diff" and other
similar commands does precisely that, and we don't seem to mind the
fact that the colors don't align at the end of each line.

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

How is this supposed to work, given that any face can be customized to
use either of these attributes, or any combination thereof?

Once again: other applications do what we do now, and users don't seem
to mind.