changeset 34242:dd4e1abada68

(Finternal_set_lisp_face_attribute): If FRAME is `t', update `default-frame-alist' instead of setting no frame parameters.
author Miles Bader <miles@gnu.org>
date Wed, 06 Dec 2000 01:12:43 +0000
parents f52846f4d5bd
children 3c177bd8d9ac
files src/xfaces.c
diffstat 1 files changed, 15 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/src/xfaces.c	Wed Dec 06 00:28:48 2000 +0000
+++ b/src/xfaces.c	Wed Dec 06 01:12:43 2000 +0000
@@ -4080,8 +4080,7 @@
 
 #ifdef HAVE_WINDOW_SYSTEM
 
-  if (!EQ (frame, Qt)
-      && !UNSPECIFIEDP (value)
+  if (!UNSPECIFIEDP (value)
       && NILP (Fequal (old_value, value)))
     {
       Lisp_Object param;
@@ -4136,13 +4135,20 @@
 	++menu_face_change_count;
 
       if (!NILP (param))
-	{
-	  Lisp_Object cons;
-	  cons = XCAR (Vparam_value_alist);
-	  XCAR (cons) = param;
-	  XCDR (cons) = value;
-	  Fmodify_frame_parameters (frame, Vparam_value_alist);
-	}
+	if (EQ (frame, Qt))
+	  /* Update `default-frame-alist', which is used for new frames.  */
+	  {
+	    store_in_alist (&Vdefault_frame_alist, param, value);
+	  }
+	else
+	  /* Update the current frame's parameters.  */
+	  {
+	    Lisp_Object cons;
+	    cons = XCAR (Vparam_value_alist);
+	    XCAR (cons) = param;
+	    XCDR (cons) = value;
+	    Fmodify_frame_parameters (frame, Vparam_value_alist);
+	  }
     }
 
 #endif /* HAVE_WINDOW_SYSTEM */