# HG changeset patch # User Miles Bader # Date 967290422 0 # Node ID 4cea72ab1bae25bdbd49ff3e602c794391f73fcd # Parent 5275607ad5d0f09b8ece3b056909c2ca7b12196b (custom-face-attributes): Add support for :inherit attribute. Add support for relative face heights. (custom-face-attributes-get): Treat `nil' as being a default value for :inherit (as well as `unspecified'). diff -r 5275607ad5d0 -r 4cea72ab1bae lisp/cus-face.el --- a/lisp/cus-face.el Sat Aug 26 10:59:51 2000 +0000 +++ b/lisp/cus-face.el Sat Aug 26 11:47:02 2000 +0000 @@ -109,13 +109,14 @@ (choice :tag "Height" :help-echo "Face's font height." (const :tag "*" nil) - (integer :tag "Height in 1/10 pt")) + (integer :tag "Height in 1/10 pt") + (number :tag "Scale" 1.0)) (lambda (face value &optional frame) (set-face-attribute face frame :height (or value 'unspecified))) (lambda (face &optional frame) (let ((height (face-attribute face :height frame))) (if (eq height 'unspecified) nil height)))) - + (:weight (choice :tag "Weight" :help-echo "Font weight." @@ -278,7 +279,26 @@ (set-face-attribute face frame :stipple (or value 'unspecified))) (lambda (face &optional frame) (let ((value (face-attribute face :stipple frame))) - (if (eq value 'unspecified) nil value))))) + (if (eq value 'unspecified) nil value)))) + + (:inherit + (repeat :tag "Inherit" + :help-echo "List of faces to inherit attributes from." + (face :Tag "Face" default)) + (lambda (face value &optional frame) + (message "Setting to: <%s>" value) + (set-face-attribute face frame :inherit + (if (and (consp value) (null (cdr value))) + (car value) + value))) + (lambda (face &optional frame) + (let ((value (face-attribute face :inherit frame))) + (cond ((or (null value) (eq value 'unspecified)) + nil) + ((symbolp value) + (list value)) + (t + value)))))) "Alist of face attributes. @@ -307,7 +327,8 @@ (let* ((attribute (car (car attrs))) (value (face-attribute face attribute frame))) (setq attrs (cdr attrs)) - (unless (eq value 'unspecified) + (unless (or (eq value 'unspecified) + (and (null value) (memq attribute '(:inherit)))) (setq plist (cons attribute (cons value plist)))))) plist))