[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/cape fd8828cff3 100/146: Make cape--company-call more r
From: |
ELPA Syncer |
Subject: |
[elpa] externals/cape fd8828cff3 100/146: Make cape--company-call more robust |
Date: |
Sun, 9 Jan 2022 20:57:46 -0500 (EST) |
branch: externals/cape
commit fd8828cff312e3294b158118ddaee89c0b30036b
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Make cape--company-call more robust
---
cape.el | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/cape.el b/cape.el
index 3a90031b6b..d0a1bcd5a7 100644
--- a/cape.el
+++ b/cape.el
@@ -738,19 +738,21 @@ If INTERACTIVE is nil the function acts like a capf."
(defun cape--company-call (backend &rest args)
"Call Company BACKEND with ARGS."
;; Company backends are non-interruptible.
- (pcase (let (throw-on-input) (apply backend args))
- (`(:async . ,fetcher)
- (let ((res 'trash)
- (start (time-to-seconds)))
- ;; Company backends are non-interruptible.
- (let (throw-on-input) (funcall fetcher (lambda (arg) (setq res arg))))
- ;; Force synchronization. The synchronization is interruptible!
- (while (eq res 'trash)
- (sleep-for cape-company-async-wait)
- (when (> (- (time-to-seconds) start) cape-company-async-timeout)
- (error "Cape company backend async timeout")))
- res))
- (res res)))
+ (let ((old-toi throw-on-input)
+ (throw-on-input nil))
+ (pcase (apply backend args)
+ (`(:async . ,fetcher)
+ (let ((res 'trash)
+ (start (time-to-seconds)))
+ (funcall fetcher (lambda (arg) (setq res arg)))
+ ;; Force synchronization. The synchronization is interruptible!
+ (let ((throw-on-input old-toi))
+ (while (eq res 'trash)
+ (sleep-for cape-company-async-wait)
+ (when (> (- (time-to-seconds) start) cape-company-async-timeout)
+ (error "Cape company backend async timeout"))))
+ res))
+ (res res))))
;;;###autoload
(defun cape-company-to-capf (backend &optional valid)
- [elpa] externals/cape e2fd7c1cc6 038/146: Minor refactoring, (continued)
- [elpa] externals/cape e2fd7c1cc6 038/146: Minor refactoring, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 3beed4f37c 047/146: Use cape--silent, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 12f5ae008c 051/146: Update README, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 1b4b739639 059/146: Refactoring, ELPA Syncer, 2022/01/09
- [elpa] externals/cape b63deab5af 058/146: cape--cached-table: Add category, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 11bcf51724 064/146: Ensure that cape-line is not sorted, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 33850ae000 068/146: Unify cape-dict and cape-dict-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 241dde47ca 070/146: Unify cape-keyword and cape-keyword-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape eaa408779e 072/146: cape-symbol: Implement capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape eff4f34841 084/146: Add cape-noninterruptible-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape fd8828cff3 100/146: Make cape--company-call more robust,
ELPA Syncer <=
- [elpa] externals/cape 1d0d3abbd1 102/146: Use namespaced symbol, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 4aec140c08 109/146: Minor cleanup, ELPA Syncer, 2022/01/09
- [elpa] externals/cape b3e2850fcf 108/146: Add unwind-protect, ELPA Syncer, 2022/01/09
- [elpa] externals/cape e81e3cfd4e 112/146: Indent, ELPA Syncer, 2022/01/09
- [elpa] externals/cape b895c8cf28 114/146: cape-capf-case-fold: Add dont-fold, ELPA Syncer, 2022/01/09
- [elpa] externals/cape c0343a247c 123/146: cape-tex/sgml: Improve docsig, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 6d076f2480 129/146: README: Document company--multi-backend-adapter, ELPA Syncer, 2022/01/09
- [elpa] externals/cape c8c0a9f9a6 134/146: Simplify, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 5319e343bb 136/146: Improve repair function, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 12b00151d1 143/146: Improve and simplify cape-dabbrev, ELPA Syncer, 2022/01/09