1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-28 10:56:36 +00:00

faces.el fix for bug#7966.

* lisp/faces.el (face-attr-match-p): Handle the obsolete :bold and
:italic props, so that frame-set-background-mode works.
(Otherwise such faces were always thought to be locally modified.)
This commit is contained in:
Glenn Morris 2011-02-07 20:10:15 -08:00
parent 3caced0bc3
commit 8a6f24e5f2
2 changed files with 21 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2011-02-08 Glenn Morris <rgm@gnu.org>
* faces.el (face-attr-match-p): Handle the obsolete :bold and
:italic props, so that frame-set-background-mode works. (Bug#7966)
2011-02-07 Glenn Morris <rgm@gnu.org>
* simple.el (next-error): Doc fix.

View File

@ -1605,13 +1605,25 @@ Optional parameter FRAME is the frame whose definition of FACE
is used. If nil or omitted, use the selected frame."
(unless frame
(setq frame (selected-frame)))
(let ((list face-attribute-name-alist)
(match t))
(let* ((list face-attribute-name-alist)
(match t)
(bold (and (plist-member attrs :bold)
(not (plist-member attrs :weight))))
(italic (and (plist-member attrs :italic)
(not (plist-member attrs :slant))))
(plist (if (or bold italic)
(copy-sequence attrs)
attrs)))
;; Handle the Emacs 20 :bold and :italic properties.
(if bold
(plist-put plist :weight (if bold 'bold 'normal)))
(if italic
(plist-put plist :slant (if italic 'italic 'normal)))
(while (and match (not (null list)))
(let* ((attr (car (car list)))
(specified-value
(if (plist-member attrs attr)
(plist-get attrs attr)
(if (plist-member plist attr)
(plist-get plist attr)
'unspecified))
(value-now (face-attribute face attr frame)))
(setq match (equal specified-value value-now))