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.
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))))))
\f
;; This section only affects ElDoc output to the echo area, as in
(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.