emacs-diffs
[Top][All Lists]
Advanced

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

master 755a9f2: Inhibit quit in ElDoc timer functions (bug#45117)


From: João Távora
Subject: master 755a9f2: Inhibit quit in ElDoc timer functions (bug#45117)
Date: Sun, 13 Dec 2020 18:18:16 -0500 (EST)

branch: master
commit 755a9f2a8b1118e2493af4c16126da8241aae397
Author: João Távora <joaotavora@gmail.com>
Commit: João Távora <joaotavora@gmail.com>

    Inhibit quit in ElDoc timer functions (bug#45117)
    
    The point of un-inhibiting it was to make ElDoc backends interruptible
    with any input (as in while-no-input), since that should in principle
    invalidate the need of the current ElDoc processing.  But that
    strategy is dangerous for backends that perform complex
    synchronization with external processes.  Better let each backend
    decide for itself it needs this eager interruptive behavior, like is
    presumably the case with the Octave backend.
    
    This reverts a part of
    
        commit 12e922156c86a26fa4bb2cb9e7d2b3fd639e4707
        Author: Stefan Monnier <monnier@iro.umontreal.ca>
        Date:   Tue Dec 4 18:15:44 2018 -0500
    
    * lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
    
    * lisp/progmodes/octave.el (octave-eldoc-function-signatures): Use
    while-no-input.
---
 lisp/emacs-lisp/eldoc.el | 6 +-----
 lisp/progmodes/octave.el | 5 +++--
 2 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el
index 6a97684..c9d5521 100644
--- a/lisp/emacs-lisp/eldoc.el
+++ b/lisp/emacs-lisp/eldoc.el
@@ -867,11 +867,7 @@ the docstrings eventually produced, using
                        eldoc--last-request-state))
            (let ((non-essential t))
              (setq eldoc--last-request-state token)
-             ;; Only keep looking for the info as long as the user hasn't
-             ;; requested our attention.  This also locally disables
-             ;; inhibit-quit.
-             (while-no-input
-               (eldoc--invoke-strategy nil)))))))
+             (eldoc--invoke-strategy nil))))))
 
 
 ;; This section only affects ElDoc output to the echo area, as in
diff --git a/lisp/progmodes/octave.el b/lisp/progmodes/octave.el
index c313ad1..bda4e60 100644
--- a/lisp/progmodes/octave.el
+++ b/lisp/progmodes/octave.el
@@ -1605,8 +1605,9 @@ code line."
 
 (defun octave-eldoc-function-signatures (fn)
   (unless (equal fn (car octave-eldoc-cache))
-    (inferior-octave-send-list-and-digest
-     (list (format "print_usage ('%s');\n" fn)))
+    (while-no-input
+      (inferior-octave-send-list-and-digest
+       (list (format "print_usage ('%s');\n" fn))))
     (let (result)
       (dolist (line inferior-octave-output-list)
         ;; The help output has changed a few times in GNU Octave.



reply via email to

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