emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 686caed: Don't attempt to display input method guidance in expire


From: Alan Mackenzie
Subject: master 686caed: Don't attempt to display input method guidance in expired minibuffers
Date: Sun, 31 Jan 2021 06:22:37 -0500 (EST)

branch: master
commit 686caed4af6e92ae908f482151fa3da87aeab8ec
Author: Alan Mackenzie <acm@muc.de>
Commit: Alan Mackenzie <acm@muc.de>

    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.
---
 lisp/international/quail.el | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index 0901115..c66aa6a 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]