diff options
| -rw-r--r-- | doc/lispref/windows.texi | 33 | ||||
| -rw-r--r-- | lisp/cus-start.el | 6 | ||||
| -rw-r--r-- | 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 | |||
| 1516 | window is created anyway). | 1516 | window is created anyway). |
| 1517 | 1517 | ||
| 1518 | @item window-size | 1518 | @item window-size |
| 1519 | In this case @code{display-buffer} makes a new parent window if it is | 1519 | This means that @code{display-buffer} makes a new parent window when it |
| 1520 | passed a @code{window-height} or @code{window-width} entry in the | 1520 | splits 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 |
| 1522 | Action Functions}). Otherwise, window splitting behaves as for a value | ||
| 1523 | of @code{nil}. | ||
| 1524 | |||
| 1525 | @item temp-buffer-resize | ||
| 1526 | In this case @code{with-temp-buffer-window} makes a new parent window | ||
| 1527 | when it splits a window and @code{temp-buffer-resize-mode} is enabled | ||
| 1528 | (@pxref{Temporary Displays}). Otherwise, window splitting behaves as | ||
| 1529 | for @code{nil}. | ||
| 1522 | 1530 | ||
| 1523 | @item temp-buffer | 1531 | @item temp-buffer |
| 1524 | This value causes the creation of a new parent window when a window is | 1532 | In this case @code{with-temp-buffer-window} always makes a new parent |
| 1525 | split for showing a temporary buffer (@pxref{Temporary Displays}) only. | 1533 | window when it splits an existing window (@pxref{Temporary Displays}). |
| 1534 | Otherwise, window splitting behaves as for @code{nil}. | ||
| 1526 | 1535 | ||
| 1527 | @item display-buffer | 1536 | @item display-buffer |
| 1528 | This means that when @code{display-buffer} (@pxref{Choosing Window}) | 1537 | This means that when @code{display-buffer} (@pxref{Choosing Window}) |
| 1529 | splits a window it always makes a new parent window. | 1538 | splits a window it always makes a new parent window. Otherwise, window |
| 1539 | splitting behaves as for @code{nil}. | ||
| 1530 | 1540 | ||
| 1531 | @item t | 1541 | @item t |
| 1532 | In this case a new parent window is always created when splitting a | 1542 | This means that splitting a window always creates a new parent window. |
| 1533 | window. Thus, if the value of this variable is at all times @code{t}, | 1543 | Thus, if the value of this variable is at all times @code{t}, then at |
| 1534 | then at all times every window tree is a binary tree (a tree where each | 1544 | all times every window tree is a binary tree (a tree where each window |
| 1535 | window except the root window has exactly one sibling). | 1545 | except the root window has exactly one sibling). |
| 1536 | @end table | 1546 | @end table |
| 1537 | 1547 | ||
| 1538 | The default is @code{nil}. Other values are reserved for future use. | 1548 | The default is @code{window-size}. Other values are reserved for future |
| 1549 | use. | ||
| 1539 | 1550 | ||
| 1540 | If, as a consequence of this variable's setting, @code{split-window} | 1551 | If, as a consequence of this variable's setting, @code{split-window} |
| 1541 | makes a new parent window, it also calls | 1552 | 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." | |||
| 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 | ||
| 7486 | Other values are reserved for future use. */); | 7491 | The default value is `window-size'. Other values are reserved for |
| 7492 | future 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, |