GNU bug report logs - #40866
customize-face obliterates obliterates elements of "face spec" alist.

Previous Next

Package: emacs;

Reported by: Alan Mackenzie <acm <at> muc.de>

Date: Sun, 26 Apr 2020 11:31:01 UTC

Severity: normal

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Alan Mackenzie <acm <at> muc.de>
Subject: bug#40866: closed (Re: bug#40866: customize-face obliterates
 obliterates elements of "face spec" alist.)
Date: Fri, 01 May 2020 12:34:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#40866: customize-face obliterates obliterates elements of "face spec" alist.

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 40866 <at> debbugs.gnu.org.

-- 
40866: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40866
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Alan Mackenzie <acm <at> muc.de>
To: 40866-done <at> debbugs.gnu.org
Subject: Re: bug#40866: customize-face obliterates obliterates elements of
 "face spec" alist.
Date: Fri, 1 May 2020 12:33:53 +0000
Fixed in the master branch.

-- 
Alan Mackenzie (Nuremberg, Germany).

[Message part 3 (message/rfc822, inline)]
From: Alan Mackenzie <acm <at> muc.de>
To: bug-gnu-emacs <at> gnu.org
Subject: customize-face obliterates obliterates elements of "face spec" alist.
Date: Sun, 26 Apr 2020 11:30:24 +0000
Hello, Emacs.

On master, when a face is set up for a single type of terminal, or
several types of terminal, customize-face disregards this, and
obliterates all members of the "face spec" alist except one, which is
always t.

For example, suppose we have either of these in a custom-set-faces list:

'(font-lock-function-name-face ((((background dark)) (:foreground "cyan" :weight bold))
                                 (t (:foreground "Blue1" :weight bold))))
 
'(font-lock-function-name-face ((((background dark)) (:foreground "cyan" :weight bold))))

.  In a light backgrounded Emacs session (e.g. in X-Windows) run
customize-face on font-lock-function-name-face.  Make some change to the
face and click on <apply and save>.  The (background dark) element has
now been obliterated, leaving (in either case):

'(font-lock-function-name-face ((t (:foreground "Blue1" :weight bold))))

.  This is a bug.  customize-face should respect face settings which are
inapplicable on the current terminal.

#########################################################################

Related wish list item:

To construct these terminal specific face specs, I had to edit the raw
lisp in .emacs.  It took me three tries before I got a valid spec.

I seem to remember that at one point it was possible to add alternative
face specs for other terminal types inside customize-face.  Am I
dreaming, or was this facility removed for some reason?

It would be really nice if one could edit a face spec in full generality
inside customize-face, obviating the need to mess with intricate raw
lisp.

-- 
Alan Mackenzie (Nuremberg, Germany).



This bug report was last modified 5 years and 21 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.