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, 28 Nov 2019 17:16:24 +0200

> From: Juri Linkov <[email-masked]>
> Cc: Eli Zaretskii <[email-masked]>,  [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?

I don't think I understand the question.  Are you asking how to do
that technically?  Or are you asking whether it makes sense?

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

Yes.