From 79c5ea9911a9aba7db0ba0e367e06507cee2fc02 Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Thu, 27 Apr 2017 10:18:48 +0200 Subject: [PATCH] Fix doc and customization type of `window-combination-limit' (Bug#26673) * src/window.c (Vwindow_combination_limit): Fix doc-string. * lisp/cus-start.el (window-combination-limit): Fix customization type. * doc/lispref/windows.texi (Recombining Windows): Fix documentation of `window-combination-limit'. --- doc/lispref/windows.texi | 33 ++++++++++++++++++++++----------- lisp/cus-start.el | 6 ++++-- src/window.c | 12 +++++++++--- 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 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 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." (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 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 `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 @@ -7483,7 +7488,8 @@ t means that splitting a window always creates a new parent window. If 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, -- 2.39.5