diff options
| author | Daniel Mendler <mail@daniel-mendler.de> | 2021-11-27 11:32:08 +0100 |
|---|---|---|
| committer | Daniel Mendler <mail@daniel-mendler.de> | 2021-11-27 11:32:08 +0100 |
| commit | 9e4651649b5d47d5f74615e1dc8cc0b676e5ff38 (patch) | |
| tree | 95bccace59c14ef10db898665515d6e5026f8b40 | |
| parent | da32e232d6a983c1e2de836c0a6e4f544f1b45bf (diff) | |
Treat company backends as non-interruptible.
| -rw-r--r-- | cape.el | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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) |
