diff options
| author | Gerd Moellmann | 2000-09-07 11:37:48 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-09-07 11:37:48 +0000 |
| commit | dbc968b8ff6136386913fe523dc1710f177c0c77 (patch) | |
| tree | 285d08eea3a4af947e4dcf97db92f4c9c658785f /src | |
| parent | 6345f6aafe5b982e20b29790b306bfc72ca99bc9 (diff) | |
| download | emacs-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.c | 15 |
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 | ||
| 436 | int tty_suppress_bold_inverse_default_colors_p; | 436 | int 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 | |||
| 441 | static 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 | ||