Another tweak to default face handling in face-spec-reset-face.
* lisp/faces.el (face-spec-reset-face): For the default face, reset the attributes to default values. Fixes: debbugs:10748
This commit is contained in:
parent
db976e3cd8
commit
c349f4e6ff
2 changed files with 22 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-03-04 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* faces.el (face-spec-reset-face): For the default face, reset the
|
||||
attributes to default values (Bug#10748).
|
||||
|
||||
2012-03-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* mail/emacsbug.el (report-emacs-bug-hook): Fix up thinko in
|
||||
|
|
|
@ -1513,12 +1513,23 @@ If SPEC is nil, return nil."
|
|||
|
||||
(defun face-spec-reset-face (face &optional frame)
|
||||
"Reset all attributes of FACE on FRAME to unspecified."
|
||||
(unless (eq face 'default)
|
||||
(let (reset-args)
|
||||
(dolist (attr-and-name face-attribute-name-alist)
|
||||
(push 'unspecified reset-args)
|
||||
(push (car attr-and-name) reset-args))
|
||||
(apply 'set-face-attribute face frame reset-args))))
|
||||
(apply 'set-face-attribute face frame
|
||||
(if (eq face 'default)
|
||||
;; For the default face, avoid making any attribute
|
||||
;; unspecifed. Instead, set attributes to default values
|
||||
;; (see also realize_default_face in xfaces.c).
|
||||
(append
|
||||
'(:underline nil :overline nil :strike-through nil
|
||||
:box nil :inverse-video nil :stipple nil :inherit nil)
|
||||
(unless (display-graphic-p frame)
|
||||
'(:family "default" :foundry "default" :width normal
|
||||
:height 1 :weight normal :slant normal
|
||||
:foreground "unspecified-fg"
|
||||
:background "unspecified-bg")))
|
||||
;; For all other faces, unspecify all attributes.
|
||||
(apply 'append
|
||||
(mapcar (lambda (x) (list (car x) 'unspecified))
|
||||
face-attribute-name-alist)))))
|
||||
|
||||
(defun face-spec-set (face spec &optional for-defface)
|
||||
"Set FACE's face spec, which controls its appearance, to SPEC.
|
||||
|
|
Loading…
Add table
Reference in a new issue