aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMartin Rudalics2024-09-11 10:36:14 +0200
committerMartin Rudalics2024-09-11 10:36:14 +0200
commitfc3a7f45292b9a7be95fdefd24fedb7e8f564d1c (patch)
tree42c8f350f181c8705564f4320054c0fdaefbba77 /doc
parent74ea24233ca281b19c3e3d2552621ceac30dfc48 (diff)
downloademacs-fc3a7f45292b9a7be95fdefd24fedb7e8f564d1c.tar.gz
emacs-fc3a7f45292b9a7be95fdefd24fedb7e8f564d1c.zip
For minibuffer windows record minibuffers only (Bug#72487)
* src/minibuf.c (zip_minibuffer_stacks): Use wset type functions. Call 'record-window-buffer' instead of 'push-window-buffer-onto-prev' to handle all sorts of buffers shown in minibuffer windows in a uniform way. (read_minibuf): Call 'record-window-buffer' instead of 'push-window-buffer-onto-prev' for same reason as previous. * lisp/calculator.el (calculator-update-display) (calculator-save-and-quit): Make sure calculator buffer is live before operating on it. * lisp/window.el (record-window-buffer): Handle case where WINDOW is a minibuffer window: Unconditionally remove WINDOW's buffer from WINDOW's list of previous buffers and push it if and only if it is a live minibuffer (Bug#72487). Do not run 'buffer-list-update-hook' if WINDOW is a minibuffer window. (push-window-buffer-onto-prev): Make it an alias of 'record-window-buffer' so it will run the latter's checks. (replace-buffer-in-windows): Handle minibuffer windows and rewrite doc-string accordingly. * doc/lispref/windows.texi (Buffers and Windows): Explain handling of minibuffer windows in 'replace-buffer-in-windows'.
Diffstat (limited to 'doc')
-rw-r--r--doc/lispref/windows.texi6
1 files changed, 6 insertions, 0 deletions
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index 656a44dfcbf..541c91ddae2 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -2353,6 +2353,12 @@ buffers (@pxref{Window History}) of all windows (including dead windows
2353that are only referenced by window configurations) and remove any 2353that are only referenced by window configurations) and remove any
2354@code{quit-restore} or @code{quit-restore-prev} parameters 2354@code{quit-restore} or @code{quit-restore-prev} parameters
2355(@pxref{Window Parameters}) referencing that buffer. 2355(@pxref{Window Parameters}) referencing that buffer.
2356
2357This function does not replace the buffer specified by
2358@var{buffer-or-name} in any minibuffer window showing it, nor does it
2359delete minibuffer windows or minibuffer frames. It removes, however,
2360that buffer from the lists of previous and next buffers of all
2361minibuffer windows.
2356@end deffn 2362@end deffn
2357 2363
2358By default, @code{replace-buffer-in-windows} deletes only windows 2364By default, @code{replace-buffer-in-windows} deletes only windows