diff options
author | Glenn Morris <rgm@gnu.org> | 2005-06-22 14:20:18 +0000 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2005-06-22 14:20:18 +0000 |
commit | 9a558a07bb44ec16b809c389194a3ff9d8cd96d8 (patch) | |
tree | dfecf19e460fe982ae15d5bcc5fc600137d14753 /lisp/faces.el | |
parent | 31c8b366fd58f2424ec0df0a61bfab5fc7ec9111 (diff) | |
download | emacs-9a558a07bb44ec16b809c389194a3ff9d8cd96d8.tar.gz |
(face-documentation, set-face-attribute)
(face-spec-set): Handle face aliases.
Diffstat (limited to 'lisp/faces.el')
-rw-r--r-- | lisp/faces.el | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/lisp/faces.el b/lisp/faces.el index 39c80db8d92..0b4125dff52 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -513,8 +513,17 @@ Use `face-attribute' for finer control." ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun face-documentation (face) - "Get the documentation string for FACE." - (get face 'face-documentation)) + "Get the documentation string for FACE. +If FACE is a face-alias, get the documentation for the target face." + (let ((alias (get face 'face-alias)) + doc) + (if alias + (progn + (setq doc (get alias 'face-documentation)) + (format "%s is an alias for the face `%s'.%s" face alias + (if doc (format "\n%s" doc) + ""))) + (get face 'face-documentation)))) (defun set-face-documentation (face string) @@ -661,7 +670,7 @@ like an underlying face would be, with higher priority than underlying faces." (setq args (purecopy args)) ;; If we set the new-frame defaults, this face is modified outside Custom. (if (memq where '(0 t)) - (put face 'face-modified t)) + (put (or (get face 'face-alias) face) 'face-modified t)) (while args (internal-set-lisp-face-attribute face (car args) (purecopy (cadr args)) @@ -1443,7 +1452,7 @@ If SPEC is nil, do nothing." ;; When we reset the face based on its spec, then it is unmodified ;; as far as Custom is concerned. (if (null frame) - (put face 'face-modified nil))) + (put (or (get face 'face-alias) face) 'face-modified nil))) (defun face-attr-match-p (face attrs &optional frame) |