[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10748:
From: |
Oleksandr Manzyuk |
Subject: |
bug#10748: |
Date: |
Mon, 27 Feb 2012 22:10:33 +0000 |
I'd like to confirm this problem. I've chased it down to the function
`face-spec-reset-face' from lisp/faces.el. The version from Emacs
23.2:
(defun face-spec-reset-face (face &optional frame)
"Reset all attributes of FACE on FRAME to unspecified."
(let ((attrs face-attribute-name-alist))
(while attrs
(let ((attr-and-name (car attrs)))
(set-face-attribute face frame (car attr-and-name) 'unspecified))
(setq attrs (cdr attrs)))))
The same function from trunk:
(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))))
Why does the latter not reset the default face? If I start Emacs with
"emacs -Q", start the server with M-x server-start, and evaluate the
former definition in the *scratch* buffer, then doing "emacsclient -t"
from the terminal gives me a frame that respects my terminal
background color.
Best,
Sasha
--
Oleksandr Manzyuk
http://oleksandrmanzyuk.wordpress.com