From 7838d6e99dc0c191e16c4bf8849a1696ef7f2167 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 29 May 2016 10:03:05 -0700 Subject: [PATCH] Fix face attribute default settings Problem reported by Martin Rudalics in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00557.html * lisp/dynamic-setting.el (font-setting-change-default-font): Don't confuse default face font user spec with frame font. --- lisp/dynamic-setting.el | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/lisp/dynamic-setting.el b/lisp/dynamic-setting.el index 6021a3b..b1d2397 100644 --- a/lisp/dynamic-setting.el +++ b/lisp/dynamic-setting.el @@ -53,17 +53,17 @@ font-setting-change-default-font (set-frame-font new-font nil frame-list) ;; Just redraw the existing fonts on all frames: (dolist (f frame-list) - (let ((frame-font - (or (font-get (face-attribute 'default :font f 'default) - :user-spec) - (frame-parameter f 'font-parameter)))) + (let ((user-spec (font-get (face-attribute 'default :font f 'default) + :user-spec)) + (frame-font (frame-parameter f 'font-parameter))) (when frame-font - (set-frame-parameter f 'font-parameter frame-font) + (set-frame-parameter f 'font-parameter frame-font)) + (when user-spec (set-face-attribute 'default f :width 'normal :weight 'normal :slant 'normal - :font frame-font)))))))) + :font user-spec)))))))) (defun dynamic-setting-handle-config-changed-event (event) "Handle config-changed-event on the display in EVENT. @@ -92,4 +92,3 @@ dynamic-setting-handle-config-changed-event (define-key special-event-map [config-changed-event] 'dynamic-setting-handle-config-changed-event) - -- 2.7.4