emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master bf4099b: Fix face initializations in pdump'ed Emacs


From: Eli Zaretskii
Subject: [Emacs-diffs] master bf4099b: Fix face initializations in pdump'ed Emacs
Date: Sat, 26 Jan 2019 05:08:27 -0500 (EST)

branch: master
commit bf4099b23738f0a481fb6020337039d84506fda4
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Fix face initializations in pdump'ed Emacs
    
    * src/dispnew.c (init_display_interactive): Call init_faces_initial
    in the daemon if dumped with pdumper. (Bug#34114)
---
 src/dispnew.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/dispnew.c b/src/dispnew.c
index 88783cd..300f1c2 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -6035,10 +6035,21 @@ init_display_interactive (void)
 
   /* If running as a daemon, no need to initialize any frames/terminal,
      except on Windows, where we at least want to initialize it.  */
-#ifndef WINDOWSNT
   if (IS_DAEMON)
+    {
+      /* Pdump'ed Emacs doesn't record the initial frame from temacs,
+        so the non-basic faces realized for that frame in temacs
+        aren't in emacs.  This causes errors when users try to
+        customize those faces in their init file.  The call to
+        init_faces_initial will realize these faces now.  (Non-daemon
+        Emacs does this either near the end of this function or when
+        the GUI frame is created.)  */
+      if (dumped_with_pdumper_p ())
+        init_faces_initial ();
+#ifndef WINDOWSNT
       return;
 #endif
+    }
 
   /* If the user wants to use a window system, we shouldn't bother
      initializing the terminal.  This is especially important when the



reply via email to

[Prev in Thread] Current Thread [Next in Thread]