# HG changeset patch # User Gerd Moellmann # Date 968326668 0 # Node ID 8797df6a9fa277937bf075f52b87da6e742d63c2 # Parent 70b366918608d86803d842032f55e679fb0fe086 (Vparam_value_alist): New variable. (syms_of_xfaces): Initialize it. (Finternal_set_lisp_face_attribute): Avoid more consing. diff -r 70b366918608 -r 8797df6a9fa2 src/xfaces.c --- a/src/xfaces.c Thu Sep 07 11:37:29 2000 +0000 +++ b/src/xfaces.c Thu Sep 07 11:37:48 2000 +0000 @@ -435,6 +435,11 @@ int tty_suppress_bold_inverse_default_colors_p; +/* A list of the form `((x . y))' used to avoid consing in + Finternal_set_lisp_face_attribute. */ + +static Lisp_Object Vparam_value_alist; + /* The total number of colors currently allocated. */ #if GLYPH_DEBUG @@ -4032,7 +4037,13 @@ } if (!NILP (param)) - Fmodify_frame_parameters (frame, Fcons (Fcons (param, value), Qnil)); + { + 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 */ @@ -7009,6 +7020,8 @@ Qtty_color_alist = intern ("tty-color-alist"); staticpro (&Qtty_color_alist); + Vparam_value_alist = Fcons (Fcons (Qnil, Qnil), Qnil); + staticpro (&Vparam_value_alist); Vface_alternative_font_family_alist = Qnil; staticpro (&Vface_alternative_font_family_alist);