aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-09-07 11:37:48 +0000
committerGerd Moellmann2000-09-07 11:37:48 +0000
commitdbc968b8ff6136386913fe523dc1710f177c0c77 (patch)
tree285d08eea3a4af947e4dcf97db92f4c9c658785f /src
parent6345f6aafe5b982e20b29790b306bfc72ca99bc9 (diff)
downloademacs-dbc968b8ff6136386913fe523dc1710f177c0c77.tar.gz
emacs-dbc968b8ff6136386913fe523dc1710f177c0c77.zip
(Vparam_value_alist): New variable.
(syms_of_xfaces): Initialize it. (Finternal_set_lisp_face_attribute): Avoid more consing.
Diffstat (limited to 'src')
-rw-r--r--src/xfaces.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/xfaces.c b/src/xfaces.c
index 84f43d81d69..fe281082d43 100644
--- a/src/xfaces.c
+++ b/src/xfaces.c
@@ -435,6 +435,11 @@ int face_change_count;
435 435
436int tty_suppress_bold_inverse_default_colors_p; 436int tty_suppress_bold_inverse_default_colors_p;
437 437
438/* A list of the form `((x . y))' used to avoid consing in
439 Finternal_set_lisp_face_attribute. */
440
441static Lisp_Object Vparam_value_alist;
442
438/* The total number of colors currently allocated. */ 443/* The total number of colors currently allocated. */
439 444
440#if GLYPH_DEBUG 445#if GLYPH_DEBUG
@@ -4032,7 +4037,13 @@ FRAME 0 means change the face on all frames, and change the default\n\
4032 } 4037 }
4033 4038
4034 if (!NILP (param)) 4039 if (!NILP (param))
4035 Fmodify_frame_parameters (frame, Fcons (Fcons (param, value), Qnil)); 4040 {
4041 Lisp_Object cons;
4042 cons = XCAR (Vparam_value_alist);
4043 XCAR (cons) = param;
4044 XCDR (cons) = value;
4045 Fmodify_frame_parameters (frame, Vparam_value_alist);
4046 }
4036 } 4047 }
4037 4048
4038#endif /* HAVE_WINDOW_SYSTEM */ 4049#endif /* HAVE_WINDOW_SYSTEM */
@@ -7009,6 +7020,8 @@ syms_of_xfaces ()
7009 Qtty_color_alist = intern ("tty-color-alist"); 7020 Qtty_color_alist = intern ("tty-color-alist");
7010 staticpro (&Qtty_color_alist); 7021 staticpro (&Qtty_color_alist);
7011 7022
7023 Vparam_value_alist = Fcons (Fcons (Qnil, Qnil), Qnil);
7024 staticpro (&Vparam_value_alist);
7012 Vface_alternative_font_family_alist = Qnil; 7025 Vface_alternative_font_family_alist = Qnil;
7013 staticpro (&Vface_alternative_font_family_alist); 7026 staticpro (&Vface_alternative_font_family_alist);
7014 7027