[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40866: customize-face obliterates obliterates elements of "face spec
From: |
Alan Mackenzie |
Subject: |
bug#40866: 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).
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#40866: customize-face obliterates obliterates elements of "face spec" alist.,
Alan Mackenzie <=