summaryrefslogtreecommitdiff
path: root/lisp/faces.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2005-06-22 14:20:18 +0000
committerGlenn Morris <rgm@gnu.org>2005-06-22 14:20:18 +0000
commit9a558a07bb44ec16b809c389194a3ff9d8cd96d8 (patch)
treedfecf19e460fe982ae15d5bcc5fc600137d14753 /lisp/faces.el
parent31c8b366fd58f2424ec0df0a61bfab5fc7ec9111 (diff)
downloademacs-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.el17
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)