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

From: Juri Linkov <[email-masked]>
Date: Wed, 27 Nov 2019 23:30:04 +0200

>>> BTW, the diff-context needs ':extend t' as well.
>> Feel free to make that change (although when did you last see a
>> context diff?).
>
> It's not for context diffs, it's for context around the changes in unified
> diffs as well. Notice the gray background on the screenshot.

diff-context by default is just '((t nil))
Where do you think to add ':extend t'?
To empty face definition?

>>> But that's of little importance since as soon as I load a custom
>>> theme, whatever defaults were there don't seem to matter.
>>
>> We need to modify all the themes we provide to specify :extend for
>> faces where we do that by default.  It seems there's no way around
>> that, since the semantics of custom-theme-set-faces is clearly to
>> reset all face attributes to 'unspecified' before applying the face
>> spec, so keeping some attributes from the default face spec is out of
>> the question, unfortunately.  It's clear that the faces stuff was not
>> designed to accommodate addition of attributes easily.

This means manually adding :extend to all files in etc/themes?