diff options
author | Alan Mackenzie <acm@muc.de> | 2021-04-22 12:07:21 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2021-04-22 12:07:21 +0000 |
commit | 846989498b66f94739e78ca274c8d1176c137591 (patch) | |
tree | 02092f6327ae1f4b01fe51b1b9b0040d86fb248a /etc | |
parent | 3021ecdedd3883911ca2db2357311f7fecdbd667 (diff) | |
download | emacs-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/NEWS | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -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. |