comparison src/frame.c @ 90614:8dd8c8286063

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 460-475) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 145-152) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-118
author Miles Bader <miles@gnu.org>
date Sun, 15 Oct 2006 02:54:13 +0000
parents 7f3f771c85fa 108f4a391eaa
children 02cf29720f31
comparison
equal deleted inserted replaced
90613:7a2fdfcc7f71 90614:8dd8c8286063
114 Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth; 114 Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth;
115 #ifdef USE_FONT_BACKEND 115 #ifdef USE_FONT_BACKEND
116 Lisp_Object Qfont_backend; 116 Lisp_Object Qfont_backend;
117 #endif /* USE_FONT_BACKEND */ 117 #endif /* USE_FONT_BACKEND */
118 118
119 Lisp_Object Qinhibit_face_set_after_frame_default;
119 Lisp_Object Qface_set_after_frame_default; 120 Lisp_Object Qface_set_after_frame_default;
120 121
121 122
122 Lisp_Object Vterminal_frame; 123 Lisp_Object Vterminal_frame;
123 Lisp_Object Vdefault_frame_alist; 124 Lisp_Object Vdefault_frame_alist;
2740 || EQ (prop, Qbackground_color) 2741 || EQ (prop, Qbackground_color)
2741 || EQ (prop, Qfont) 2742 || EQ (prop, Qfont)
2742 || EQ (prop, Qfullscreen)) 2743 || EQ (prop, Qfullscreen))
2743 { 2744 {
2744 register Lisp_Object param_index, old_value; 2745 register Lisp_Object param_index, old_value;
2746 int count = SPECPDL_INDEX ();
2745 2747
2746 old_value = get_frame_param (f, prop); 2748 old_value = get_frame_param (f, prop);
2747 fullscreen_is_being_set |= EQ (prop, Qfullscreen); 2749 fullscreen_is_being_set |= EQ (prop, Qfullscreen);
2748 2750
2749 if (NILP (Fequal (val, old_value))) 2751 if (NILP (Fequal (val, old_value)))
2750 { 2752 {
2753 /* For :font attributes, the frame_parm_handler
2754 x_set_font calls `face-set-after-frame-default'.
2755 Unless we bind inhibit-face-set-after-frame-default
2756 here, this would reset the :font attribute that we
2757 just applied to the default value for new faces. */
2758 specbind (Qinhibit_face_set_after_frame_default, Qt);
2759
2751 store_frame_param (f, prop, val); 2760 store_frame_param (f, prop, val);
2752 2761
2753 param_index = Fget (prop, Qx_frame_parameter); 2762 param_index = Fget (prop, Qx_frame_parameter);
2754 if (NATNUMP (param_index) 2763 if (NATNUMP (param_index)
2755 && (XFASTINT (param_index) 2764 && (XFASTINT (param_index)
2756 < sizeof (frame_parms)/sizeof (frame_parms[0])) 2765 < sizeof (frame_parms)/sizeof (frame_parms[0]))
2757 && rif->frame_parm_handlers[XINT (param_index)]) 2766 && rif->frame_parm_handlers[XINT (param_index)])
2758 (*(rif->frame_parm_handlers[XINT (param_index)])) (f, val, old_value); 2767 (*(rif->frame_parm_handlers[XINT (param_index)])) (f, val, old_value);
2768
2769 unbind_to (count, Qnil);
2759 } 2770 }
2760 } 2771 }
2761 } 2772 }
2762 2773
2763 /* Now process them in reverse of specified order. */ 2774 /* Now process them in reverse of specified order. */
4110 staticpro (&Qtty_color_mode); 4121 staticpro (&Qtty_color_mode);
4111 4122
4112 Qface_set_after_frame_default = intern ("face-set-after-frame-default"); 4123 Qface_set_after_frame_default = intern ("face-set-after-frame-default");
4113 staticpro (&Qface_set_after_frame_default); 4124 staticpro (&Qface_set_after_frame_default);
4114 4125
4126 Qinhibit_face_set_after_frame_default
4127 = intern ("inhibit-face-set-after-frame-default");
4128 staticpro (&Qinhibit_face_set_after_frame_default);
4129
4115 Qfullwidth = intern ("fullwidth"); 4130 Qfullwidth = intern ("fullwidth");
4116 staticpro (&Qfullwidth); 4131 staticpro (&Qfullwidth);
4117 Qfullheight = intern ("fullheight"); 4132 Qfullheight = intern ("fullheight");
4118 staticpro (&Qfullheight); 4133 staticpro (&Qfullheight);
4119 Qfullboth = intern ("fullboth"); 4134 Qfullboth = intern ("fullboth");