GNU bug report logs -
#37774
27.0.50; new :extend attribute broke visuals of all themes and other packages
Previous Next
Reported by: Andrey Orst <andreyorst <at> gmail.com>
Date: Wed, 16 Oct 2019 07:32:01 UTC
Severity: normal
Found in version 27.0.50
Done: Dmitry Gutov <dgutov <at> yandex.ru>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
> 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:
[diff-extend-eol.png (image/png, inline)]
[Message part 3 (text/plain, inline)]
And this shows how they looked like rectangular blocks before the change:
[diff-extend-edge.png (image/png, inline)]
[Message part 5 (text/plain, inline)]
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):
[diff-extend-column.png (image/png, inline)]
[Message part 7 (text/plain, inline)]
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.
This bug report was last modified 5 years and 161 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.