aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/windows.texi33
-rw-r--r--lisp/cus-start.el6
-rw-r--r--src/window.c12
3 files changed, 35 insertions, 16 deletions
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index fed2dea7572..b015233753f 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -1516,26 +1516,37 @@ direction as the existing window combination (otherwise, a new internal
1516window is created anyway). 1516window is created anyway).
1517 1517
1518@item window-size 1518@item window-size
1519In this case @code{display-buffer} makes a new parent window if it is 1519This means that @code{display-buffer} makes a new parent window when it
1520passed a @code{window-height} or @code{window-width} entry in the 1520splits a window and is passed a @code{window-height} or
1521@var{alist} argument (@pxref{Display Action Functions}). 1521@code{window-width} entry in the @var{alist} argument (@pxref{Display
1522Action Functions}). Otherwise, window splitting behaves as for a value
1523of @code{nil}.
1524
1525@item temp-buffer-resize
1526In this case @code{with-temp-buffer-window} makes a new parent window
1527when it splits a window and @code{temp-buffer-resize-mode} is enabled
1528(@pxref{Temporary Displays}). Otherwise, window splitting behaves as
1529for @code{nil}.
1522 1530
1523@item temp-buffer 1531@item temp-buffer
1524This value causes the creation of a new parent window when a window is 1532In this case @code{with-temp-buffer-window} always makes a new parent
1525split for showing a temporary buffer (@pxref{Temporary Displays}) only. 1533window when it splits an existing window (@pxref{Temporary Displays}).
1534Otherwise, window splitting behaves as for @code{nil}.
1526 1535
1527@item display-buffer 1536@item display-buffer
1528This means that when @code{display-buffer} (@pxref{Choosing Window}) 1537This means that when @code{display-buffer} (@pxref{Choosing Window})
1529splits a window it always makes a new parent window. 1538splits a window it always makes a new parent window. Otherwise, window
1539splitting behaves as for @code{nil}.
1530 1540
1531@item t 1541@item t
1532In this case a new parent window is always created when splitting a 1542This means that splitting a window always creates a new parent window.
1533window. Thus, if the value of this variable is at all times @code{t}, 1543Thus, if the value of this variable is at all times @code{t}, then at
1534then at all times every window tree is a binary tree (a tree where each 1544all times every window tree is a binary tree (a tree where each window
1535window except the root window has exactly one sibling). 1545except the root window has exactly one sibling).
1536@end table 1546@end table
1537 1547
1538The default is @code{nil}. Other values are reserved for future use. 1548The default is @code{window-size}. Other values are reserved for future
1549use.
1539 1550
1540If, as a consequence of this variable's setting, @code{split-window} 1551If, as a consequence of this variable's setting, @code{split-window}
1541makes a new parent window, it also calls 1552makes a new parent window, it also calls
diff --git a/lisp/cus-start.el b/lisp/cus-start.el
index a507e30ca9c..117b23debef 100644
--- a/lisp/cus-start.el
+++ b/lisp/cus-start.el
@@ -498,14 +498,16 @@ since it could result in memory overflow and make Emacs crash."
498 (window-combination-limit 498 (window-combination-limit
499 windows (choice 499 windows (choice
500 (const :tag "Never (nil)" :value nil) 500 (const :tag "Never (nil)" :value nil)
501 (const :tag "For Temp Buffer Resize mode (temp-buffer-resize)" 501 (const :tag "If requested via buffer display alist (window-size)"
502 :value window-size)
503 (const :tag "With Temp Buffer Resize mode (temp-buffer-resize)"
502 :value temp-buffer-resize) 504 :value temp-buffer-resize)
503 (const :tag "For temporary buffers (temp-buffer)" 505 (const :tag "For temporary buffers (temp-buffer)"
504 :value temp-buffer) 506 :value temp-buffer)
505 (const :tag "For buffer display (display-buffer)" 507 (const :tag "For buffer display (display-buffer)"
506 :value display-buffer) 508 :value display-buffer)
507 (other :tag "Always (t)" :value t)) 509 (other :tag "Always (t)" :value t))
508 "24.3") 510 "26.1")
509 (fast-but-imprecise-scrolling scrolling boolean "25.1") 511 (fast-but-imprecise-scrolling scrolling boolean "25.1")
510 (window-resize-pixelwise windows boolean "24.4") 512 (window-resize-pixelwise windows boolean "24.4")
511 ;; xdisp.c 513 ;; xdisp.c
diff --git a/src/window.c b/src/window.c
index 2d6f0e48faa..fc9f40222bb 100644
--- a/src/window.c
+++ b/src/window.c
@@ -7468,9 +7468,14 @@ nil means splitting a window will create a new parent window only if the
7468 `window-height' or `window-width' entry in the alist used by 7468 `window-height' or `window-width' entry in the alist used by
7469 `display-buffer'. Otherwise, this value is handled like nil. 7469 `display-buffer'. Otherwise, this value is handled like nil.
7470 7470
7471`temp-buffer-resize' means that splitting a window for displaying a
7472 temporary buffer via `with-temp-buffer-window' makes a new parent
7473 window only if `temp-buffer-resize-mode' is enabled. Otherwise,
7474 this value is handled like nil.
7475
7471`temp-buffer' means that splitting a window for displaying a temporary 7476`temp-buffer' means that splitting a window for displaying a temporary
7472 buffer always makes a new parent window. Otherwise, this value is 7477 buffer via `with-temp-buffer-window' always makes a new parent
7473 handled like nil. 7478 window. Otherwise, this value is handled like nil.
7474 7479
7475`display-buffer' means that splitting a window for displaying a buffer 7480`display-buffer' means that splitting a window for displaying a buffer
7476 always makes a new parent window. Since temporary buffers are 7481 always makes a new parent window. Since temporary buffers are
@@ -7483,7 +7488,8 @@ t means that splitting a window always creates a new parent window. If
7483 tree and every window but the frame's root window has exactly one 7488 tree and every window but the frame's root window has exactly one
7484 sibling. 7489 sibling.
7485 7490
7486Other values are reserved for future use. */); 7491The default value is `window-size'. Other values are reserved for
7492future use. */);
7487 Vwindow_combination_limit = Qwindow_size; 7493 Vwindow_combination_limit = Qwindow_size;
7488 7494
7489 DEFVAR_LISP ("window-persistent-parameters", Vwindow_persistent_parameters, 7495 DEFVAR_LISP ("window-persistent-parameters", Vwindow_persistent_parameters,