diff options
Diffstat (limited to 'lisp/faces.el')
-rw-r--r-- | lisp/faces.el | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/lisp/faces.el b/lisp/faces.el index 7be6f7f55c5..a9189d5f8f6 100644 --- a/lisp/faces.el +++ b/lisp/faces.el @@ -1334,21 +1334,29 @@ If SPEC is nil, return nil." (unless frame (setq frame (selected-frame))) (let ((tail spec) - result all) + result defaults) (while tail (let* ((entry (pop tail)) (display (car entry)) - (attrs (cdr entry))) - (when (face-spec-set-match-display display frame) - (setq result (if (null (cdr attrs)) ;; was (listp (car attrs)) - ;; Old-style entry, the attribute list is the - ;; first element. - (car attrs) - attrs)) - (if (eq display t) - (setq all result result nil) + (attrs (cdr entry)) + thisval) + ;; Get the attributes as actually specified by this alternative. + (setq thisval + (if (null (cdr attrs)) ;; was (listp (car attrs)) + ;; Old-style entry, the attribute list is the + ;; first element. + (car attrs) + attrs)) + + ;; If the condition is `default', that sets the default + ;; for following conditions. + (if (eq display 'default) + (setq defaults thisval) + ;; Otherwise, if it matches, use it. + (when (face-spec-set-match-display display frame) + (setq result thisval) (setq tail nil))))) - (if all (append result all) result))) + (if defaults (append result defaults) result))) (defun face-spec-reset-face (face &optional frame) @@ -1816,7 +1824,7 @@ created." :group 'basic-faces) (defface mode-line-inactive - '((t + '((default :inherit mode-line) (((type x w32 mac) (background light) (class color)) :weight light @@ -1836,7 +1844,7 @@ created." (put 'modeline-inactive 'face-alias 'mode-line-inactive) (defface header-line - '((t + '((default :inherit mode-line) (((type tty)) ;; This used to be `:inverse-video t', but that doesn't look very @@ -1872,7 +1880,7 @@ created." (defface tool-bar - '((t + '((default :box (:line-width 1 :style released-button) :foreground "black") (((type x w32 mac) (class color)) @@ -2053,8 +2061,8 @@ Note: Other faces cannot inherit from the cursor face." (defface escape-glyph '((((background dark)) :foreground "cyan") (((type pc)) :foreground "magenta") - (t :foreground "dark blue")) - "Face for displaying \\ and ^ in multichar glyphs." + (t :foreground "blue")) + "Face for characters displayed as ^-sequences or \-sequences." :group 'basic-faces) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |