1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-06 14:02:07 -08:00

Don't attempt to display input method guidance in expired minibuffers

This caused infinite waits in circumstances involving setting an input method
in a global minor mode.  This commit fixes bug #45792.

* lisp/international/quail.el (quail-show-guidance): Test the major mode is
not minibuffer-inactive-mode before proceding with the function.
This commit is contained in:
Alan Mackenzie 2021-01-31 11:20:50 +00:00
parent 5cf9b915fa
commit 686caed4af

View file

@ -2027,10 +2027,15 @@ minibuffer and the selected frame has no other windows)."
(bury-buffer quail-completion-buf)
;; Then, show the guidance.
(when (and (quail-require-guidance-buf)
(not input-method-use-echo-area)
(null unread-command-events)
(null unread-post-input-method-events))
(when (and
;; Don't try to display guidance on an expired minibuffer. This
;; would go into an infinite wait rather than executing the user's
;; command. Bug #45792.
(not (eq major-mode 'minibuffer-inactive-mode))
(quail-require-guidance-buf)
(not input-method-use-echo-area)
(null unread-command-events)
(null unread-post-input-method-events))
(if (minibufferp)
(if (eq (minibuffer-window) (frame-root-window))
;; Use another frame. It is sure that we are using some