window is created anyway).
@item window-size
-In this case @code{display-buffer} makes a new parent window if it is
-passed a @code{window-height} or @code{window-width} entry in the
-@var{alist} argument (@pxref{Display Action Functions}).
+This means that @code{display-buffer} makes a new parent window when it
+splits a window and is passed a @code{window-height} or
+@code{window-width} entry in the @var{alist} argument (@pxref{Display
+Action Functions}). Otherwise, window splitting behaves as for a value
+of @code{nil}.
+
+@item temp-buffer-resize
+In this case @code{with-temp-buffer-window} makes a new parent window
+when it splits a window and @code{temp-buffer-resize-mode} is enabled
+(@pxref{Temporary Displays}). Otherwise, window splitting behaves as
+for @code{nil}.
@item temp-buffer
-This value causes the creation of a new parent window when a window is
-split for showing a temporary buffer (@pxref{Temporary Displays}) only.
+In this case @code{with-temp-buffer-window} always makes a new parent
+window when it splits an existing window (@pxref{Temporary Displays}).
+Otherwise, window splitting behaves as for @code{nil}.
@item display-buffer
This means that when @code{display-buffer} (@pxref{Choosing Window})
-splits a window it always makes a new parent window.
+splits a window it always makes a new parent window. Otherwise, window
+splitting behaves as for @code{nil}.
@item t
-In this case a new parent window is always created when splitting a
-window. Thus, if the value of this variable is at all times @code{t},
-then at all times every window tree is a binary tree (a tree where each
-window except the root window has exactly one sibling).
+This means that splitting a window always creates a new parent window.
+Thus, if the value of this variable is at all times @code{t}, then at
+all times every window tree is a binary tree (a tree where each window
+except the root window has exactly one sibling).
@end table
-The default is @code{nil}. Other values are reserved for future use.
+The default is @code{window-size}. Other values are reserved for future
+use.
If, as a consequence of this variable's setting, @code{split-window}
makes a new parent window, it also calls
(window-combination-limit
windows (choice
(const :tag "Never (nil)" :value nil)
- (const :tag "For Temp Buffer Resize mode (temp-buffer-resize)"
+ (const :tag "If requested via buffer display alist (window-size)"
+ :value window-size)
+ (const :tag "With Temp Buffer Resize mode (temp-buffer-resize)"
:value temp-buffer-resize)
(const :tag "For temporary buffers (temp-buffer)"
:value temp-buffer)
(const :tag "For buffer display (display-buffer)"
:value display-buffer)
(other :tag "Always (t)" :value t))
- "24.3")
+ "26.1")
(fast-but-imprecise-scrolling scrolling boolean "25.1")
(window-resize-pixelwise windows boolean "24.4")
;; xdisp.c
`window-height' or `window-width' entry in the alist used by
`display-buffer'. Otherwise, this value is handled like nil.
+`temp-buffer-resize' means that splitting a window for displaying a
+ temporary buffer via `with-temp-buffer-window' makes a new parent
+ window only if `temp-buffer-resize-mode' is enabled. Otherwise,
+ this value is handled like nil.
+
`temp-buffer' means that splitting a window for displaying a temporary
- buffer always makes a new parent window. Otherwise, this value is
- handled like nil.
+ buffer via `with-temp-buffer-window' always makes a new parent
+ window. Otherwise, this value is handled like nil.
`display-buffer' means that splitting a window for displaying a buffer
always makes a new parent window. Since temporary buffers are
tree and every window but the frame's root window has exactly one
sibling.
-Other values are reserved for future use. */);
+The default value is `window-size'. Other values are reserved for
+future use. */);
Vwindow_combination_limit = Qwindow_size;
DEFVAR_LISP ("window-persistent-parameters", Vwindow_persistent_parameters,