]> git.eshelyaron.com Git - emacs.git/commitdiff
* startup.el (normal-top-level): Implement a work-around to handle
authorChong Yidong <cyd@stupidchicken.com>
Sat, 25 Apr 2009 14:25:06 +0000 (14:25 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 25 Apr 2009 14:25:06 +0000 (14:25 +0000)
changes to face-font-rescale-alist during initialization (Bug#1785).

lisp/ChangeLog
lisp/startup.el

index 5b08f7ecd7b8418d5fb972fd1104f1760c72f695..d8ed4e20181188efe0d81c924e58bd741531ee8e 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-25  Chong Yidong  <cyd@stupidchicken.com>
+
+       * 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  <michael.albinus@gmx.de>
 
        * net/tramp.el (tramp-handle-directory-files-and-attributes-with-stat)
index 7a1f9dc392d9157680410b9bbaa6c83dd3217a79..6dd2fb7e35cee26c431b7e928087937dbb8e5b8e 100644 (file)
@@ -499,7 +499,8 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
                     (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 @@ or `CVS', and any subdirectory that contains a file named `.nosearch'."
                  (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)