# HG changeset patch # User Chong Yidong # Date 1240669506 0 # Node ID 525cb94d171d822ad6d65039fc961f52b0219f07 # Parent 70fe0ad06b3dd2e00a4df35b1814a3001b12d925 * startup.el (normal-top-level): Implement a work-around to handle changes to face-font-rescale-alist during initialization (Bug#1785). diff -r 70fe0ad06b3d -r 525cb94d171d lisp/ChangeLog --- a/lisp/ChangeLog Sat Apr 25 07:22:50 2009 +0000 +++ b/lisp/ChangeLog Sat Apr 25 14:25:06 2009 +0000 @@ -1,3 +1,9 @@ +2009-04-25 Chong Yidong + + * startup.el (normal-top-level): Implement a work-around to handle + changes to face-font-rescale-alist during + initialization (Bug#1785). + 2009-04-24 Michael Albinus * net/tramp.el (tramp-handle-directory-files-and-attributes-with-stat) diff -r 70fe0ad06b3d -r 525cb94d171d lisp/startup.el --- a/lisp/startup.el Sat Apr 25 07:22:50 2009 +0000 +++ b/lisp/startup.el Sat Apr 25 14:25:06 2009 +0000 @@ -499,7 +499,8 @@ (delete (concat "PWD=" pwd) process-environment))))) (setq default-directory (abbreviate-file-name default-directory)) - (let ((menubar-bindings-done nil)) + (let ((menubar-bindings-done nil) + (old-face-font-rescale-alist face-font-rescale-alist)) (unwind-protect (command-line) ;; Do this again, in case .emacs defined more abbreviations. @@ -540,6 +541,19 @@ (not (and initial-window-system (not noninteractive) (not (eq initial-window-system 'pc))))) + + ;; FIXME: The user's init file may change + ;; face-font-rescale-alist. However, the default face + ;; already has an assigned font object, which does not take + ;; face-font-rescale-alist into account. For such + ;; situations, we ought to have a way to find all font + ;; objects and regenerate them; currently we do not. As a + ;; workaround, we specifically reset te default face's :font + ;; attribute here. See bug#1785. + (unless (eq face-font-rescale-alist + old-face-font-rescale-alist) + (set-face-attribute 'default nil :font (font-spec))) + ;; Modify the initial frame based on what .emacs puts into ;; ...-frame-alist. (if (fboundp 'frame-notice-user-settings)