diff options
| author | Alan Mackenzie | 2021-01-31 11:20:50 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2021-01-31 11:20:50 +0000 |
| commit | 686caed4af6e92ae908f482151fa3da87aeab8ec (patch) | |
| tree | 1f306ea8451a112d14837d7238e6bc17c310da6e | |
| parent | 5cf9b915fa3557b4cd9e36ef8068d40b68ee485a (diff) | |
| download | emacs-686caed4af6e92ae908f482151fa3da87aeab8ec.tar.gz emacs-686caed4af6e92ae908f482151fa3da87aeab8ec.zip | |
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.
| -rw-r--r-- | lisp/international/quail.el | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/lisp/international/quail.el b/lisp/international/quail.el index 0901115cffe..c66aa6a5375 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el | |||
| @@ -2027,10 +2027,15 @@ minibuffer and the selected frame has no other windows)." | |||
| 2027 | (bury-buffer quail-completion-buf) | 2027 | (bury-buffer quail-completion-buf) |
| 2028 | 2028 | ||
| 2029 | ;; Then, show the guidance. | 2029 | ;; Then, show the guidance. |
| 2030 | (when (and (quail-require-guidance-buf) | 2030 | (when (and |
| 2031 | (not input-method-use-echo-area) | 2031 | ;; Don't try to display guidance on an expired minibuffer. This |
| 2032 | (null unread-command-events) | 2032 | ;; would go into an infinite wait rather than executing the user's |
| 2033 | (null unread-post-input-method-events)) | 2033 | ;; command. Bug #45792. |
| 2034 | (not (eq major-mode 'minibuffer-inactive-mode)) | ||
| 2035 | (quail-require-guidance-buf) | ||
| 2036 | (not input-method-use-echo-area) | ||
| 2037 | (null unread-command-events) | ||
| 2038 | (null unread-post-input-method-events)) | ||
| 2034 | (if (minibufferp) | 2039 | (if (minibufferp) |
| 2035 | (if (eq (minibuffer-window) (frame-root-window)) | 2040 | (if (eq (minibuffer-window) (frame-root-window)) |
| 2036 | ;; Use another frame. It is sure that we are using some | 2041 | ;; Use another frame. It is sure that we are using some |