summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2021-04-22 12:07:21 +0000
committerAlan Mackenzie <acm@muc.de>2021-04-22 12:07:21 +0000
commit846989498b66f94739e78ca274c8d1176c137591 (patch)
tree02092f6327ae1f4b01fe51b1b9b0040d86fb248a /etc
parent3021ecdedd3883911ca2db2357311f7fecdbd667 (diff)
downloademacs-846989498b66f94739e78ca274c8d1176c137591.tar.gz
Fix unclean "can't happen" error handling in read_minibuf_unwind
Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor t, a minibuffer could appear in two frames at the same time. * src/window.c (Fset_window_configuration): Add a new &optional parameter DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from the supplied window configuration. (restore_window_configuration): Enhance to match the above. * src/minibuf.c (read_minibuf): Enhance the argument list to the restore_window_configuration calls to match the above. In the main case, restoring the minibuffer is inhibited. (read_minibuf_unwind): Should the frame with the expired minibuffer not be found ("can't happen"), unwind the stacked data nevertheless, rather than just exiting. * src/keyboard.c (read_char_help_form_unwind): Amend a call of Fset_window_configuration. * doc/lispref/windows.texi (Window Configurations): Document the new form of set-window-configuration. * etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for set-window-configuration.
Diffstat (limited to 'etc')
-rw-r--r--etc/NEWS8
1 files changed, 5 insertions, 3 deletions
diff --git a/etc/NEWS b/etc/NEWS
index 559ffd6d8f6..e7258f19b46 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2674,9 +2674,11 @@ one to another in the init file. The same user option also controls
whether the function 'read-answer' accepts short answers.
+++
-** 'set-window-configuration' now takes an optional 'dont-set-frame'
-parameter which, when non-nil, instructs the function not to select
-the frame recorded in the configuration.
+** 'set-window-configuration' now takes two optional parameters,
+'dont-set-frame' and 'dont-set-miniwindow'. The first of these, when
+non-nil, instructs the function not to select the frame recorded in
+the configuration. The second prevents the current minibuffer being
+replaced by the one stored in the configuration.
+++
** 'define-globalized-minor-mode' now takes a ':predicate' parameter.