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.
This commit is contained in:
Juri Linkov 2019-10-13 23:47:33 +03:00
parent 88eadc75d0
commit 21f2922b84

View file

@ -6268,7 +6268,7 @@ a non-nil value in your init file. */);
DEFVAR_LISP ("frame-inhibit-implied-resize", frame_inhibit_implied_resize,
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
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
@ -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
this case, resizing is inhibited when changing a parameter that appears
in that list. The parameters currently handled by this option include
`font', `font-backend', `internal-border-width', `menu-bar-lines' and
`tool-bar-lines'.
`font', `font-backend', `internal-border-width', `menu-bar-lines',
`tool-bar-lines' and `tab-bar-lines'.
Changing any of the parameters `scroll-bar-width', `scroll-bar-height',
`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
keep it unchanged if this option is either t or a list containing
`vertical-scroll-bars'.
The default value is \\='(tab-bar-lines) in GTK+, (which means that
adding/removing a tab bar does not change the frame height),
\\='(tab-bar-lines tool-bar-lines) on Lucid, Motif and Windows
\(which means that adding/removing a tool bar or tab bar does not
change the frame height), nil on all other window systems (which
means that changing any of the parameters listed above may change
the size of the frame), and t otherwise (which means the frame size
never changes implicitly when there's no window system support).
In NS that use the external tool bar and no tab bar, the default value
is nil which means that changing any of the parameters listed above
may change the size of the frame. In GTK+ that use the external tool
bar, the default value is \\='(tab-bar-lines) which means that
adding/removing a tab bar does not change the frame height. On all
other types of GUI frames, the default value is \\='(tab-bar-lines
tool-bar-lines) which means that adding/removing a tool bar or tab bar
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
any of the parameters listed above, Emacs may try to enlarge the frame
even if this option is non-nil. */);
#if defined (HAVE_WINDOW_SYSTEM)
#if defined USE_GTK
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
#if defined (HAVE_NS)
frame_inhibit_implied_resize = Qnil;
#elif defined (USE_GTK)
frame_inhibit_implied_resize = list1 (Qtab_bar_lines);
#else
frame_inhibit_implied_resize = list2 (Qtab_bar_lines, Qtool_bar_lines);
#endif
#else
frame_inhibit_implied_resize = Qt;