summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Mendler <mail@daniel-mendler.de>2021-11-27 11:32:08 +0100
committerDaniel Mendler <mail@daniel-mendler.de>2021-11-27 11:32:08 +0100
commit9e4651649b5d47d5f74615e1dc8cc0b676e5ff38 (patch)
tree95bccace59c14ef10db898665515d6e5026f8b40
parentda32e232d6a983c1e2de836c0a6e4f544f1b45bf (diff)
Treat company backends as non-interruptible.
-rw-r--r--cape.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/cape.el b/cape.el
index 7985f62..f1e0404 100644
--- a/cape.el
+++ b/cape.el
@@ -720,11 +720,13 @@ If INTERACTIVE is nil the function acts like a capf."
(defun cape--company-call (backend &rest args)
"Call Company BACKEND with ARGS."
- (pcase (apply backend args)
+ ;; Company backends are non-interruptible!
+ (pcase (let (throw-on-input) (apply backend args))
(`(:async . ,fetcher)
(let ((res 'trash)
(start (time-to-seconds)))
- (funcall fetcher (lambda (arg) (setq res arg)))
+ ;; Company backends are non-interruptible!
+ (let (throw-on-input) (funcall fetcher (lambda (arg) (setq res arg))))
;; Force synchronization
(while (eq res 'trash)
(sleep-for company-async-wait)