Commit 21f2922b authored by Juri Linkov's avatar Juri Linkov

Fix initial value of frame-inhibit-implied-resize

* src/frame.c (syms_of_frame): Update doc string and default value of
frame-inhibit-implied-resize in NS to not include 'tab-bar-lines,
and non-toolkit X builds to include 'tab-bar-lines.
parent 88eadc75
Pipeline #3614 failed with stage
in 90 minutes and 2 seconds
...@@ -6268,7 +6268,7 @@ a non-nil value in your init file. */); ...@@ -6268,7 +6268,7 @@ a non-nil value in your init file. */);
DEFVAR_LISP ("frame-inhibit-implied-resize", frame_inhibit_implied_resize, DEFVAR_LISP ("frame-inhibit-implied-resize", frame_inhibit_implied_resize,
doc: /* Whether frames should be resized implicitly. doc: /* Whether frames should be resized implicitly.
If this option is nil, setting font, menu bar, tool bar, internal If this option is nil, setting font, menu bar, tool bar, tab bar, internal
borders, fringes or scroll bars of a specific frame may resize the frame borders, fringes or scroll bars of a specific frame may resize the frame
in order to preserve the number of columns or lines it displays. If in order to preserve the number of columns or lines it displays. If
this option is t, no such resizing is done. Note that the size of this option is t, no such resizing is done. Note that the size of
...@@ -6278,8 +6278,8 @@ width of fullwidth frames never change implicitly. ...@@ -6278,8 +6278,8 @@ width of fullwidth frames never change implicitly.
The value of this option can be also be a list of frame parameters. In The value of this option can be also be a list of frame parameters. In
this case, resizing is inhibited when changing a parameter that appears this case, resizing is inhibited when changing a parameter that appears
in that list. The parameters currently handled by this option include in that list. The parameters currently handled by this option include
`font', `font-backend', `internal-border-width', `menu-bar-lines' and `font', `font-backend', `internal-border-width', `menu-bar-lines',
`tool-bar-lines'. `tool-bar-lines' and `tab-bar-lines'.
Changing any of the parameters `scroll-bar-width', `scroll-bar-height', Changing any of the parameters `scroll-bar-width', `scroll-bar-height',
`vertical-scroll-bars', `horizontal-scroll-bars', `left-fringe' and `vertical-scroll-bars', `horizontal-scroll-bars', `left-fringe' and
...@@ -6290,25 +6290,27 @@ width by the width of one scroll bar provided this option is nil and ...@@ -6290,25 +6290,27 @@ width by the width of one scroll bar provided this option is nil and
keep it unchanged if this option is either t or a list containing keep it unchanged if this option is either t or a list containing
`vertical-scroll-bars'. `vertical-scroll-bars'.
The default value is \\='(tab-bar-lines) in GTK+, (which means that In NS that use the external tool bar and no tab bar, the default value
adding/removing a tab bar does not change the frame height), is nil which means that changing any of the parameters listed above
\\='(tab-bar-lines tool-bar-lines) on Lucid, Motif and Windows may change the size of the frame. In GTK+ that use the external tool
\(which means that adding/removing a tool bar or tab bar does not bar, the default value is \\='(tab-bar-lines) which means that
change the frame height), nil on all other window systems (which adding/removing a tab bar does not change the frame height. On all
means that changing any of the parameters listed above may change other types of GUI frames, the default value is \\='(tab-bar-lines
the size of the frame), and t otherwise (which means the frame size tool-bar-lines) which means that adding/removing a tool bar or tab bar
never changes implicitly when there's no window system support). does not change the frame height. Otherwise it's t which means the
frame size never changes implicitly when there's no window
system support.
Note that when a frame is not large enough to accommodate a change of Note that when a frame is not large enough to accommodate a change of
any of the parameters listed above, Emacs may try to enlarge the frame any of the parameters listed above, Emacs may try to enlarge the frame
even if this option is non-nil. */); even if this option is non-nil. */);
#if defined (HAVE_WINDOW_SYSTEM) #if defined (HAVE_WINDOW_SYSTEM)
#if defined USE_GTK #if defined (HAVE_NS)
frame_inhibit_implied_resize = Qnil;
#elif defined (USE_GTK)
frame_inhibit_implied_resize = list1 (Qtab_bar_lines); frame_inhibit_implied_resize = list1 (Qtab_bar_lines);
#elif defined (USE_LUCID) || defined (USE_MOTIF) || defined (HAVE_NTGUI)
frame_inhibit_implied_resize = list2 (Qtab_bar_lines, Qtool_bar_lines);
#else #else
frame_inhibit_implied_resize = Qnil; frame_inhibit_implied_resize = list2 (Qtab_bar_lines, Qtool_bar_lines);
#endif #endif
#else #else
frame_inhibit_implied_resize = Qt; frame_inhibit_implied_resize = Qt;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment