aboutsummaryrefslogtreecommitdiffstats
path: root/src/frame.c
diff options
context:
space:
mode:
authorMartin Rudalics2015-10-13 12:11:43 +0200
committerMartin Rudalics2015-10-13 12:11:43 +0200
commitd4fe840df0b5fdb3aed538fae2ced143a471f60a (patch)
tree13ff9d7115616a99af7e0257277a1ca6edf31f72 /src/frame.c
parente53e1a0426539aa3f2902632fdd8025da8f710f2 (diff)
downloademacs-d4fe840df0b5fdb3aed538fae2ced143a471f60a.tar.gz
emacs-d4fe840df0b5fdb3aed538fae2ced143a471f60a.zip
Allow setting frame pixel sizes from frame parameters (Bug#21415)
Also fix some misfeatures in frame (re-)sizing code, add more debugging information and remove some dead code. * lisp/frame.el (frame-notice-user-settings, make-frame): Change parameter names when setting `frame-size-history'. (frame--size-history): New function. * src/frame.c (frame_inhibit_resize): If frame has not been made yet, return t if inhibit_horizontal_resize or inhibit_vertical_resize bit have been set. (adjust_frame_size): Simplify. (make_frame): Initialize inhibit_horizontal_resize, inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized. (Fframe_after_make_frame): Reset inhibit_horizontal_resize and inhibit_vertical_resize slots. (x_set_frame_parameters): Handle `text-pixels' specification for width and height parameters. Don't consider new_height or new_width changes. Call adjust_frame_size instead of Fset_frame_size. (x_figure_window_size): Two new arguments x_width and y_width returning frame's figures width and height. Calculate tool bar height before frame sizes so SET_FRAME_HEIGHT can pick it up. Handle `text-pixels' specification for width and height parameters. (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size) (Qx_set_window_size_1, Qx_set_window_size_2) (Qx_set_window_size_3, Qx_set_menu_bar_lines) (Qupdate_frame_menubar, Qfree_frame_menubar_1) (Qfree_frame_menubar_2): New symbols. * src/frame.h (structure frame): New booleans tool_bar_redisplayed, tool_bar_resized, inhibit_horizontal_resize, inhibit_vertical_resize. (x_figure_window_size): Update external declaration. * src/gtkutil.c (xg_frame_set_char_size): Set size hints before calling gtk_window_resize. (update_frame_tool_bar): Make inhibiting of frame resizing more discriminative. Set tool_bar_resized bit. * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame resizing more discriminative. Call adjust_frame_size instead of x_set_window_size. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. * src/nsterm.m (x_set_window_size): For GNUSTEP build don't subtract 3 from tool bar height. (x_set_window_size): Add frame_size_history_add call. (x_new_font): Call adjust_frame_size instead of x_set_window_size. * src/w32fns.c (x_change_tool_bar_height): Reset tool_bar_redisplayed and tool_bar_resized bits when adding tool bar. Make inhibiting of frame resizing more discriminative. (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. Set size hints before adjusting frame size. (x_create_tip_frame): Adjust x_figure_window_size call. * src/w32term.c (x_set_window_size): Add frame_size_history_add call. * src/widget.c (set_frame_size): Remove dead code. Add frame_size_history_add call. When frame_resize_pixelwise is t use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of pixel_width and pixel_height. (update_various_frame_slots): Remove dead code. (EmacsFrameResize): Add more information in frame_size_history_add call. (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise is not set. * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits. * src/xfns.c (x_set_menu_bar_lines): Change argument name. (x_change_tool_bar_height): Reset tool_bar_redisplayed and tool_bar_resized bits when adding tool bar. Make inhibiting of frame resizing more discriminative. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. Set size hints before adjusting frame size. (x_create_tip_frame): Adjust x_figure_window_size call. * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially. (set_frame_menubar): On Lucid never add core-border-width to avoid that adding XtNinternalBorderWidth adds it again. (free_frame_menubar): Handle frame_inhibit_resize true for Motif. * src/xterm.c (x_new_font): In non-toolkit case handle size change of menu bar. (x_set_window_size_1): Fix calls to frame_size_history_add. (x_wm_set_size_hint): Remove dead code. Set size_hints.min_width and size_hints.min_height to base_width and base_height.
Diffstat (limited to 'src/frame.c')
-rw-r--r--src/frame.c221
1 files changed, 133 insertions, 88 deletions
diff --git a/src/frame.c b/src/frame.c
index 77ead082ce2..98a7a57a988 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -184,16 +184,17 @@ frame_inhibit_resize (struct frame *f, bool horizontal, Lisp_Object parameter)
184{ 184{
185 Lisp_Object fullscreen = get_frame_param (f, Qfullscreen); 185 Lisp_Object fullscreen = get_frame_param (f, Qfullscreen);
186 bool inhibit 186 bool inhibit
187 = ((f->after_make_frame 187 = (f->after_make_frame
188 && (EQ (frame_inhibit_implied_resize, Qt) 188 ? (EQ (frame_inhibit_implied_resize, Qt)
189 || (CONSP (frame_inhibit_implied_resize) 189 || (CONSP (frame_inhibit_implied_resize)
190 && !NILP (Fmemq (parameter, frame_inhibit_implied_resize))))) 190 && !NILP (Fmemq (parameter, frame_inhibit_implied_resize)))
191 || (horizontal 191 || (horizontal
192 && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullheight)) 192 && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullheight))
193 || (!horizontal 193 || (!horizontal
194 && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullwidth)) 194 && !EQ (fullscreen, Qnil) && !EQ (fullscreen, Qfullwidth))
195 || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)); 195 || FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f))
196 196 : ((horizontal && f->inhibit_horizontal_resize)
197 || (!horizontal && f->inhibit_vertical_resize)));
197 if (inhibit && !FRAME_TERMCAP_P (f) && !FRAME_MSDOS_P (f)) 198 if (inhibit && !FRAME_TERMCAP_P (f) && !FRAME_MSDOS_P (f))
198 frame_size_history_add 199 frame_size_history_add
199 (f, Qframe_inhibit_resize, 0, 0, 200 (f, Qframe_inhibit_resize, 0, 0,
@@ -425,17 +426,15 @@ adjust_frame_size (struct frame *f, int new_width, int new_height, int inhibit,
425 426
426 if (inhibit >= 2 && inhibit <= 4) 427 if (inhibit >= 2 && inhibit <= 4)
427 /* When INHIBIT is in [2..4] inhibit if the "old" window sizes stay 428 /* When INHIBIT is in [2..4] inhibit if the "old" window sizes stay
428 within the limits and either frame_inhibit_resize tells us to do 429 within the limits and either resizing is inhibited or INHIBIT
429 so or INHIBIT equals 4. */ 430 equals 4. */
430 { 431 {
431 inhibit_horizontal = ((windows_width >= min_windows_width 432 inhibit_horizontal = (windows_width >= min_windows_width
432 && (inhibit == 4 433 && (inhibit == 4
433 || frame_inhibit_resize (f, true, parameter))) 434 || frame_inhibit_resize (f, true, parameter)));
434 ? true : false); 435 inhibit_vertical = (windows_height >= min_windows_height
435 inhibit_vertical = ((windows_height >= min_windows_height 436 && (inhibit == 4
436 && (inhibit == 4 437 || frame_inhibit_resize (f, false, parameter)));
437 || frame_inhibit_resize (f, false, parameter)))
438 ? true : false);
439 } 438 }
440 else 439 else
441 /* Otherwise inhibit if INHIBIT equals 5. */ 440 /* Otherwise inhibit if INHIBIT equals 5. */
@@ -634,6 +633,10 @@ make_frame (bool mini_p)
634 f->garbaged = true; 633 f->garbaged = true;
635 f->can_x_set_window_size = false; 634 f->can_x_set_window_size = false;
636 f->after_make_frame = false; 635 f->after_make_frame = false;
636 f->inhibit_horizontal_resize = false;
637 f->inhibit_vertical_resize = false;
638 f->tool_bar_redisplayed = false;
639 f->tool_bar_resized = false;
637 f->column_width = 1; /* !FRAME_WINDOW_P value. */ 640 f->column_width = 1; /* !FRAME_WINDOW_P value. */
638 f->line_height = 1; /* !FRAME_WINDOW_P value. */ 641 f->line_height = 1; /* !FRAME_WINDOW_P value. */
639#ifdef HAVE_WINDOW_SYSTEM 642#ifdef HAVE_WINDOW_SYSTEM
@@ -2303,6 +2306,8 @@ otherwise used with utter care to avoid that running functions on
2303{ 2306{
2304 struct frame *f = decode_live_frame (frame); 2307 struct frame *f = decode_live_frame (frame);
2305 f->after_make_frame = !NILP (made); 2308 f->after_make_frame = !NILP (made);
2309 f->inhibit_horizontal_resize = false;
2310 f->inhibit_vertical_resize = false;
2306 return made; 2311 return made;
2307} 2312}
2308 2313
@@ -3166,15 +3171,33 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist)
3166 prop = parms[i]; 3171 prop = parms[i];
3167 val = values[i]; 3172 val = values[i];
3168 3173
3169 if (EQ (prop, Qwidth) && RANGED_INTEGERP (0, val, INT_MAX)) 3174 if (EQ (prop, Qwidth))
3170 { 3175 {
3171 width_change = 1; 3176 if (RANGED_INTEGERP (0, val, INT_MAX))
3172 width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ; 3177 {
3178 width = XFASTINT (val) * FRAME_COLUMN_WIDTH (f) ;
3179 width_change = true;
3180 }
3181 else if (CONSP (val) && EQ (XCAR (val), Qtext_pixels)
3182 && RANGED_INTEGERP (0, XCDR (val), INT_MAX))
3183 {
3184 width = XFASTINT (XCDR (val));
3185 width_change = true;
3186 }
3173 } 3187 }
3174 else if (EQ (prop, Qheight) && RANGED_INTEGERP (0, val, INT_MAX)) 3188 else if (EQ (prop, Qheight))
3175 { 3189 {
3176 height_change = 1; 3190 if (RANGED_INTEGERP (0, val, INT_MAX))
3177 height = XFASTINT (val) * FRAME_LINE_HEIGHT (f); 3191 {
3192 height = XFASTINT (val) * FRAME_LINE_HEIGHT (f);
3193 height_change = true;
3194 }
3195 else if (CONSP (val) && EQ (XCAR (val), Qtext_pixels)
3196 && RANGED_INTEGERP (0, XCDR (val), INT_MAX))
3197 {
3198 height = XFASTINT (XCDR (val));
3199 height_change = true;
3200 }
3178 } 3201 }
3179 else if (EQ (prop, Qtop)) 3202 else if (EQ (prop, Qtop))
3180 top = val; 3203 top = val;
@@ -3262,28 +3285,15 @@ x_set_frame_parameters (struct frame *f, Lisp_Object alist)
3262 XSETFRAME (frame, f); 3285 XSETFRAME (frame, f);
3263 3286
3264 if ((width_change && width != FRAME_TEXT_WIDTH (f)) 3287 if ((width_change && width != FRAME_TEXT_WIDTH (f))
3265 || (height_change && height != FRAME_TEXT_HEIGHT (f)) 3288 || (height_change && height != FRAME_TEXT_HEIGHT (f)))
3266 || (f->can_x_set_window_size && (f->new_height || f->new_width))) 3289 /* We could consider checking f->after_make_frame here, but I
3267 { 3290 don't have the faintest idea why the following is needed at
3268 /* If necessary provide default values for HEIGHT and WIDTH. Do 3291 all. With the old setting it can get a Heisenbug when
3269 that here since otherwise a size change implied by an 3292 EmacsFrameResize intermittently provokes a delayed
3270 intermittent font change may get lost as in Bug#17142. */ 3293 change_frame_size in the middle of adjust_frame_size. */
3271 if (!width_change) 3294 /** || (f->can_x_set_window_size && (f->new_height || f->new_width))) **/
3272 width = ((f->can_x_set_window_size && f->new_width) 3295 adjust_frame_size (f, width_change ? width : -1,
3273 ? (f->new_pixelwise 3296 height_change ? height : -1, 1, 0, Qx_set_frame_parameters);
3274 ? f->new_width
3275 : (f->new_width * FRAME_COLUMN_WIDTH (f)))
3276 : FRAME_TEXT_WIDTH (f));
3277
3278 if (!height_change)
3279 height = ((f->can_x_set_window_size && f->new_height)
3280 ? (f->new_pixelwise
3281 ? f->new_height
3282 : (f->new_height * FRAME_LINE_HEIGHT (f)))
3283 : FRAME_TEXT_HEIGHT (f));
3284
3285 Fset_frame_size (frame, make_number (width), make_number (height), Qt);
3286 }
3287 3297
3288 if ((!NILP (left) || !NILP (top)) 3298 if ((!NILP (left) || !NILP (top))
3289 && ! (left_no_change && top_no_change) 3299 && ! (left_no_change && top_no_change)
@@ -4552,7 +4562,7 @@ On Nextstep, this just calls `ns-parse-geometry'. */)
4552#define DEFAULT_COLS 80 4562#define DEFAULT_COLS 80
4553 4563
4554long 4564long
4555x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p) 4565x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p, int *x_width, int *x_height)
4556{ 4566{
4557 Lisp_Object height, width, user_size, top, left, user_position; 4567 Lisp_Object height, width, user_size, top, left, user_position;
4558 long window_prompting = 0; 4568 long window_prompting = 0;
@@ -4571,44 +4581,11 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p)
4571 f->top_pos = 0; 4581 f->top_pos = 0;
4572 f->left_pos = 0; 4582 f->left_pos = 0;
4573 4583
4574 /* Ensure that earlier new_width and new_height settings won't 4584 /* Calculate a tool bar height so that the user gets a text display
4575 override what we specify below. */ 4585 area of the size he specified with -g or via .Xdefaults. Later
4576 f->new_width = f->new_height = 0; 4586 changes of the tool bar height don't change the frame size. This
4577 4587 is done so that users can create tall Emacs frames without having
4578 height = x_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER); 4588 to guess how tall the tool bar will get. */
4579 width = x_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER);
4580 if (!EQ (width, Qunbound) || !EQ (height, Qunbound))
4581 {
4582 if (!EQ (width, Qunbound))
4583 {
4584 CHECK_NUMBER (width);
4585 if (! (0 <= XINT (width) && XINT (width) <= INT_MAX))
4586 xsignal1 (Qargs_out_of_range, width);
4587
4588 SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f));
4589 }
4590
4591 if (!EQ (height, Qunbound))
4592 {
4593 CHECK_NUMBER (height);
4594 if (! (0 <= XINT (height) && XINT (height) <= INT_MAX))
4595 xsignal1 (Qargs_out_of_range, height);
4596
4597 SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f));
4598 }
4599
4600 user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER);
4601 if (!NILP (user_size) && !EQ (user_size, Qunbound))
4602 window_prompting |= USSize;
4603 else
4604 window_prompting |= PSize;
4605 }
4606
4607 /* Add a tool bar height to the initial frame height so that the user
4608 gets a text display area of the size he specified with -g or via
4609 .Xdefaults. Later changes of the tool bar height don't change the
4610 frame size. This is done so that users can create tall Emacs
4611 frames without having to guess how tall the tool bar will get. */
4612 if (toolbar_p && FRAME_TOOL_BAR_LINES (f)) 4589 if (toolbar_p && FRAME_TOOL_BAR_LINES (f))
4613 { 4590 {
4614 if (frame_default_tool_bar_height) 4591 if (frame_default_tool_bar_height)
@@ -4634,6 +4611,65 @@ x_figure_window_size (struct frame *f, Lisp_Object parms, bool toolbar_p)
4634 } 4611 }
4635 } 4612 }
4636 4613
4614 /* Ensure that earlier new_width and new_height settings won't
4615 override what we specify below. */
4616 f->new_width = f->new_height = 0;
4617
4618 height = x_get_arg (dpyinfo, parms, Qheight, 0, 0, RES_TYPE_NUMBER);
4619 width = x_get_arg (dpyinfo, parms, Qwidth, 0, 0, RES_TYPE_NUMBER);
4620 if (!EQ (width, Qunbound) || !EQ (height, Qunbound))
4621 {
4622 if (!EQ (width, Qunbound))
4623 {
4624 if (CONSP (width) && EQ (XCAR (width), Qtext_pixels))
4625 {
4626 CHECK_NUMBER (XCDR (width));
4627 if ((XINT (XCDR (width)) < 0 || XINT (XCDR (width)) > INT_MAX))
4628 xsignal1 (Qargs_out_of_range, XCDR (width));
4629
4630 SET_FRAME_WIDTH (f, XINT (XCDR (width)));
4631 f->inhibit_horizontal_resize = true;
4632 *x_width = XINT (XCDR (width));
4633 }
4634 else
4635 {
4636 CHECK_NUMBER (width);
4637 if ((XINT (width) < 0 || XINT (width) > INT_MAX))
4638 xsignal1 (Qargs_out_of_range, width);
4639
4640 SET_FRAME_WIDTH (f, XINT (width) * FRAME_COLUMN_WIDTH (f));
4641 }
4642 }
4643
4644 if (!EQ (height, Qunbound))
4645 {
4646 if (CONSP (height) && EQ (XCAR (height), Qtext_pixels))
4647 {
4648 CHECK_NUMBER (XCDR (height));
4649 if ((XINT (XCDR (height)) < 0 || XINT (XCDR (height)) > INT_MAX))
4650 xsignal1 (Qargs_out_of_range, XCDR (height));
4651
4652 SET_FRAME_HEIGHT (f, XINT (XCDR (height)));
4653 f->inhibit_vertical_resize = true;
4654 *x_height = XINT (XCDR (height));
4655 }
4656 else
4657 {
4658 CHECK_NUMBER (height);
4659 if ((XINT (height) < 0) || (XINT (height) > INT_MAX))
4660 xsignal1 (Qargs_out_of_range, height);
4661
4662 SET_FRAME_HEIGHT (f, XINT (height) * FRAME_LINE_HEIGHT (f));
4663 }
4664 }
4665
4666 user_size = x_get_arg (dpyinfo, parms, Quser_size, 0, 0, RES_TYPE_NUMBER);
4667 if (!NILP (user_size) && !EQ (user_size, Qunbound))
4668 window_prompting |= USSize;
4669 else
4670 window_prompting |= PSize;
4671 }
4672
4637 top = x_get_arg (dpyinfo, parms, Qtop, 0, 0, RES_TYPE_NUMBER); 4673 top = x_get_arg (dpyinfo, parms, Qtop, 0, 0, RES_TYPE_NUMBER);
4638 left = x_get_arg (dpyinfo, parms, Qleft, 0, 0, RES_TYPE_NUMBER); 4674 left = x_get_arg (dpyinfo, parms, Qleft, 0, 0, RES_TYPE_NUMBER);
4639 user_position = x_get_arg (dpyinfo, parms, Quser_position, 0, 0, RES_TYPE_NUMBER); 4675 user_position = x_get_arg (dpyinfo, parms, Quser_position, 0, 0, RES_TYPE_NUMBER);
@@ -4852,6 +4888,7 @@ syms_of_frame (void)
4852 DEFSYM (Qonly, "only"); 4888 DEFSYM (Qonly, "only");
4853 DEFSYM (Qnone, "none"); 4889 DEFSYM (Qnone, "none");
4854 DEFSYM (Qwidth, "width"); 4890 DEFSYM (Qwidth, "width");
4891 DEFSYM (Qtext_pixels, "text-pixels");
4855 DEFSYM (Qgeometry, "geometry"); 4892 DEFSYM (Qgeometry, "geometry");
4856 DEFSYM (Qicon_left, "icon-left"); 4893 DEFSYM (Qicon_left, "icon-left");
4857 DEFSYM (Qicon_top, "icon-top"); 4894 DEFSYM (Qicon_top, "icon-top");
@@ -4909,7 +4946,9 @@ syms_of_frame (void)
4909 DEFSYM (Qadjust_frame_size_1, "adjust-frame-size-1"); 4946 DEFSYM (Qadjust_frame_size_1, "adjust-frame-size-1");
4910 DEFSYM (Qadjust_frame_size_2, "adjust-frame-size-2"); 4947 DEFSYM (Qadjust_frame_size_2, "adjust-frame-size-2");
4911 DEFSYM (Qadjust_frame_size_3, "adjust-frame-size-3"); 4948 DEFSYM (Qadjust_frame_size_3, "adjust-frame-size-3");
4949 DEFSYM (Qx_set_frame_parameters, "x-set-frame-parameters");
4912 DEFSYM (QEmacsFrameResize, "EmacsFrameResize"); 4950 DEFSYM (QEmacsFrameResize, "EmacsFrameResize");
4951 DEFSYM (Qset_frame_size, "set-frame-size");
4913 DEFSYM (Qframe_inhibit_resize, "frame-inhibit-resize"); 4952 DEFSYM (Qframe_inhibit_resize, "frame-inhibit-resize");
4914 DEFSYM (Qx_set_fullscreen, "x-set-fullscreen"); 4953 DEFSYM (Qx_set_fullscreen, "x-set-fullscreen");
4915 DEFSYM (Qx_check_fullscreen, "x-check-fullscreen"); 4954 DEFSYM (Qx_check_fullscreen, "x-check-fullscreen");
@@ -4917,13 +4956,16 @@ syms_of_frame (void)
4917 DEFSYM (Qxg_frame_set_char_size_1, "xg-frame-set-char-size-1"); 4956 DEFSYM (Qxg_frame_set_char_size_1, "xg-frame-set-char-size-1");
4918 DEFSYM (Qxg_frame_set_char_size_2, "xg-frame-set-char-size-2"); 4957 DEFSYM (Qxg_frame_set_char_size_2, "xg-frame-set-char-size-2");
4919 DEFSYM (Qxg_frame_set_char_size_3, "xg-frame-set-char-size-3"); 4958 DEFSYM (Qxg_frame_set_char_size_3, "xg-frame-set-char-size-3");
4959 DEFSYM (Qx_set_window_size_1, "x-set-window-size-1");
4960 DEFSYM (Qx_set_window_size_2, "x-set-window-size-2");
4961 DEFSYM (Qx_set_window_size_3, "x-set-window-size-3");
4920 DEFSYM (Qxg_change_toolbar_position, "xg-change-toolbar-position"); 4962 DEFSYM (Qxg_change_toolbar_position, "xg-change-toolbar-position");
4921 DEFSYM (Qx_net_wm_state, "x-net-wm-state"); 4963 DEFSYM (Qx_net_wm_state, "x-net-wm-state");
4922 DEFSYM (Qx_handle_net_wm_state, "x-handle-net-wm-state"); 4964 DEFSYM (Qx_handle_net_wm_state, "x-handle-net-wm-state");
4923 DEFSYM (Qtb_size_cb, "tb-size-cb"); 4965 DEFSYM (Qtb_size_cb, "tb-size-cb");
4924 DEFSYM (Qupdate_frame_tool_bar, "update-frame-tool-bar"); 4966 DEFSYM (Qupdate_frame_tool_bar, "update-frame-tool-bar");
4925 DEFSYM (Qfree_frame_tool_bar, "free-frame-tool-bar"); 4967 DEFSYM (Qfree_frame_tool_bar, "free-frame-tool-bar");
4926 4968 DEFSYM (Qx_set_menu_bar_lines, "x-set-menu-bar-lines");
4927 DEFSYM (Qchange_frame_size, "change-frame-size"); 4969 DEFSYM (Qchange_frame_size, "change-frame-size");
4928 DEFSYM (Qxg_frame_set_char_size, "xg-frame-set-char-size"); 4970 DEFSYM (Qxg_frame_set_char_size, "xg-frame-set-char-size");
4929 DEFSYM (Qset_window_configuration, "set-window-configuration"); 4971 DEFSYM (Qset_window_configuration, "set-window-configuration");
@@ -4952,6 +4994,9 @@ syms_of_frame (void)
4952 DEFSYM (Qleft_fringe, "left-fringe"); 4994 DEFSYM (Qleft_fringe, "left-fringe");
4953 DEFSYM (Qline_spacing, "line-spacing"); 4995 DEFSYM (Qline_spacing, "line-spacing");
4954 DEFSYM (Qmenu_bar_lines, "menu-bar-lines"); 4996 DEFSYM (Qmenu_bar_lines, "menu-bar-lines");
4997 DEFSYM (Qupdate_frame_menubar, "update-frame-menubar");
4998 DEFSYM (Qfree_frame_menubar_1, "free-frame-menubar-1");
4999 DEFSYM (Qfree_frame_menubar_2, "free-frame-menubar-2");
4955 DEFSYM (Qmouse_color, "mouse-color"); 5000 DEFSYM (Qmouse_color, "mouse-color");
4956 DEFSYM (Qname, "name"); 5001 DEFSYM (Qname, "name");
4957 DEFSYM (Qright_divider_width, "right-divider-width"); 5002 DEFSYM (Qright_divider_width, "right-divider-width");