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
> Date: Thu, 28 Nov 2019 17:16:24 +0200
> From: Eli Zaretskii <eliz <at> gnu.org>
> Cc: 37774 <at> debbugs.gnu.org, dgutov <at> yandex.ru
>
> > >> 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.
I've now done that.
Two comments:
. When adding the :extend attribute to a face, we should make sure
all of that face's definitions have the same value of it, even if
the default definition of the face for some 'class' of displays
doesn't need it (e.g., because it specifies only the foreground
color). This is so that if users customize the face, the results
will look uniform regardless of which face attributes they
customize. Otherwise, if the user customizes the background color
or :underline or some other similar attribute, the appearance will
be different from that on other classes of terminals, and that is
baaaad...
. Some of the themes we have in core customize faces defined by
unbundled packages. I didn't change the definitions of those
faces; it's up to the respective package developers and/or users
to come up and ask for such changes, if it turns out the packages
added the :extend attribute and we didn't.
This bug report was last modified 5 years and 162 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.