1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-25 07:28:20 +00:00

(custom-theme-set-faces): Make it work.

(custom-reset-faces): Doc fix.
(custom-theme-reset-internal-face, custom-theme-face-value): Functions deleted.
This commit is contained in:
Richard M. Stallman 2005-07-11 00:56:53 +00:00
parent 1a3b7cd540
commit 2c9e973fc7

View File

@ -344,54 +344,28 @@ FACE's list property `theme-face' \(using `custom-push-theme')."
(custom-push-theme 'theme-face face theme 'set spec))
(setq args (cdr (cdr args))))))))
;;;###autoload
(defun custom-theme-face-value (face theme)
"Return spec of FACE in THEME if THEME modifies FACE.
Value is nil otherwise. The association between theme and spec for FACE
is stored in FACE's property `theme-face'. The appropriate face
is retrieved using `custom-theme-value'."
;; Returns car because the value is stored inside a one element list
(car-safe (custom-theme-value theme (get face 'theme-face))))
(defun custom-theme-reset-internal-face (face to-theme)
"Reset FACE to the value defined by TO-THEME.
If FACE is not defined in TO-THEME, reset FACE to the standard
value. See `custom-theme-face-value'. The standard value is
stored in SYMBOL's property `face-defface-spec' by `defface'."
(let ((spec (custom-theme-face-value face to-theme))
was-in-theme)
(setq was-in-theme spec)
(setq spec (or spec (get face 'face-defface-spec)))
(when spec
(put face 'save-face was-in-theme)
(when (or (get face 'force-face) (facep face))
(unless (facep face)
(make-empty-face face))
(face-spec-set face spec)))
spec))
;;;###autoload
(defun custom-theme-reset-faces (theme &rest args)
"Reset the value of the face to values previously defined.
Associate this setting with THEME.
"Reset the specs in THEME of some faces to their specs in other themes.
Each of the arguments ARGS has this form:
ARGS is a list of lists of the form
(FACE FROM-THEME)
(FACE TO-THEME)
This means reset FACE to its value in TO-THEME."
This means reset FACE to its value in FROM-THEME."
(custom-check-theme theme)
(mapcar '(lambda (arg)
(apply 'custom-theme-reset-internal-face arg)
(custom-push-theme 'theme-face (car arg) theme 'reset (cadr arg)))
args))
(dolist (arg args)
(custom-push-theme 'theme-face (car arg) theme 'reset (cadr arg))))
;;;###autoload
(defun custom-reset-faces (&rest args)
"Reset the value of the face to values previously saved.
This is the setting assosiated the `user' theme.
"Reset the specs of some faces to their specs in specified themes.
This creates settings in the `user' theme.
ARGS is defined as for `custom-theme-reset-faces'"
Each of the arguments ARGS has this form:
(FACE FROM-THEME)
This means reset FACE to its value in FROM-THEME."
(apply 'custom-theme-reset-faces 'user args))
;;; The End.