# HG changeset patch # User Miles Bader # Date 976065163 0 # Node ID dd4e1abada68a20e3bf47865f84ed712e6f345a3 # Parent f52846f4d5bd28e5ac53975c096c7cfe9be37a30 (Finternal_set_lisp_face_attribute): If FRAME is `t', update `default-frame-alist' instead of setting no frame parameters. diff -r f52846f4d5bd -r dd4e1abada68 src/xfaces.c --- 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 */