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

From: Andrey Orst <[email-masked]>
Date: Wed, 16 Oct 2019 21:07:53 +0300

> Here's an edited image to demonstrate an ideal look of such background
faces
> (note how the mode-line is wider, and blocks are narrower than window
width):

I like the unedited example a bit more, especially if we're talking about
side by side diffs, like ediff.
I think that this may be controlled by a variable named something like
`trim-eol-face-at-fill-column'

On Wed, Oct 16, 2019 at 8:36 PM Juri Linkov <[email-masked]> wrote:
>
> > I have seen these reports and also the ones in reddit. Do you think that
> > we should/must/can do anything about?
>
> Two major problems:
>
> 1. Backward-compatibility problem:
>
> I had to spend significant time investigating why the region face broke
> recently, and discovered that customized faces in custom-set-faces need
> to be updated.  Soon I tired fixing their customizations one by one
manually,
> so I wrote a function that automatically fixes all faces.  I wonder
> how all other users are supposed to get out of a similar situation.
>
> Moreover, the problem is wider than personal customization
> and affects hundreds of existing themes.
>
> 2. Conceptual problem:
>
> We need to think again what this change was intended to fix?
>
> All faces could be divided into two more-less equally large groups:
>
> a. faces with distinct foreground that highlight text properties,
> they include mostly font-lock faces, underline faces, and so on;
>
> b. faces with distinct background that highlight blocks of text,
> such as the region face, diff hunk faces, etc.
>
> As I see the change was meant to fix only the problem that relates to
> faces with distinct foreground, because indeed underlines extended
> to the window edge look very ugly.  So the change should affect
> only faces with distinct foreground.
>
> But faces for multi-line regions with a distinct background color
> require to look like rectangular blocks.
>
> This screenshot demonstrates how badly broken these blocks are now
> in diff-mode that it makes harder to read diffs:
>
>
> And this shows how they looked like rectangular blocks before the change:
>
>
> Frankly speaking, this is not great too because long stretches are ugly.
> 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.
>
> Here's an edited image to demonstrate an ideal look of such background
faces
> (note how the mode-line is wider, and blocks are narrower than window
width):
>
>
> So what would pacify the current situation is to extend to eol
> only foreground colors.  But background colors should be extended to
> some predefined fixed column such as fill-column to have a look of blocks.

--
Best regards,
Andrey Orst