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

From: Juri Linkov <[email-masked]>
Date: Sat, 19 Oct 2019 23:53:47 +0300

>> > But I think that our (e)diff blocks are affected by the change and all
>> > their face settings probably have to change, as well as tables and
>> > listings.
>>
>> Yes, (e)diff face settings have to change, but actually I discovered
>> that diff-refined faces don't need to extend to the window edge,
>> because they don't form a block, they are word-based.
>
> I agree.  I think the number of faces that might need to include
> :extend is very small.

So I added :extend to diff faces, except word-based refinement faces.

Also I considered adding :extend to multi-line isearch matches,
but in fact yanking in isearch is word-based such as C-w,
so maybe the current default is fine.  Or do you think it's important
to extend highlighting of matched empty lines beyond EOL
to make them more noticeable?  Then we'll need to extend
matching of empty like also for lazy-highlight, hi-lock, occur faces.

Additional question: since now in multi-line Info references faces don't
extend beyond EOL by default, could the following hack to be removed
from info.el:

              ;; For multiline ref, unfontify newline and surrounding whitespace
              (save-excursion
                (goto-char rbeg)
                (save-match-data
                  (while (re-search-forward "\\s-*\n\\s-*" rend t nil)
                    (remove-text-properties (match-beginning 0)
                                            (match-end 0)
                                            '(font-lock-face t)))))