]> git.eshelyaron.com Git - emacs.git/commit
Fix unclean "can't happen" error handling in read_minibuf_unwind
authorAlan Mackenzie <acm@muc.de>
Thu, 22 Apr 2021 12:07:21 +0000 (12:07 +0000)
committerAlan Mackenzie <acm@muc.de>
Thu, 22 Apr 2021 12:07:21 +0000 (12:07 +0000)
commit846989498b66f94739e78ca274c8d1176c137591
tree02092f6327ae1f4b01fe51b1b9b0040d86fb248a
parent3021ecdedd3883911ca2db2357311f7fecdbd667
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.
doc/lispref/windows.texi
etc/NEWS
src/keyboard.c
src/minibuf.c
src/window.c