[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/cape da32e232d6 093/146: cape--company-call: Cheaper ti
From: |
ELPA Syncer |
Subject: |
[elpa] externals/cape da32e232d6 093/146: cape--company-call: Cheaper timeout checking, throw error |
Date: |
Sun, 9 Jan 2022 20:57:45 -0500 (EST) |
branch: externals/cape
commit da32e232d6a983c1e2de836c0a6e4f544f1b45bf
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
cape--company-call: Cheaper timeout checking, throw error
---
cape.el | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/cape.el b/cape.el
index e4c3386043..7985f62429 100644
--- a/cape.el
+++ b/cape.el
@@ -42,14 +42,6 @@
"Dictionary word list file."
:type 'string)
-(defcustom cape-company-async-timeout 1.0
- "Company asynchronous timeout."
- :type 'float)
-
-(defcustom cape-company-async-wait 0.02
- "Company asynchronous busy waiting time."
- :type 'float)
-
(defcustom cape-dabbrev-min-length 4
"Minimum length of dabbrev expansions."
:type 'integer)
@@ -723,16 +715,21 @@ If INTERACTIVE is nil the function acts like a capf."
:annotation-function (funcall extra-fun :annotation-function)
:exit-function (lambda (x _status) (funcall (funcall extra-fun
:exit-function) x)))))))
+(defvar company-async-wait)
+(defvar company-async-timeout)
+
(defun cape--company-call (backend &rest args)
"Call Company BACKEND with ARGS."
(pcase (apply backend args)
(`(:async . ,fetcher)
- (let ((res 'trash))
- ;; Force synchronization
+ (let ((res 'trash)
+ (start (time-to-seconds)))
(funcall fetcher (lambda (arg) (setq res arg)))
- (with-timeout (cape-company-async-timeout (setq res nil))
- (while (eq res 'trash)
- (sleep-for cape-company-async-wait)))
+ ;; Force synchronization
+ (while (eq res 'trash)
+ (sleep-for company-async-wait)
+ (when (> (- (time-to-seconds) start) company-async-timeout)
+ (error "Cape company backend async timeout")))
res))
(res res)))
- [elpa] externals/cape 6deb7d7a8b 044/146: Add docstrings, (continued)
- [elpa] externals/cape 6deb7d7a8b 044/146: Add docstrings, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 3ad6aa105e 045/146: cape-company-to-capf: Simplify, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 4a1f19af23 057/146: Fix super capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 26401bfa6a 069/146: Unify cape-abbrev and cape-abbrev-capf, ELPA Syncer, 2022/01/09
- [elpa] externals/cape d265a03e7f 074/146: cape-dabbrev: Make interactive, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 3eb7efc2d4 050/146: README: Expand reasoning, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 8cf2942881 085/146: Add comments regarding interruptible completion tables, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 488cfd9ed7 086/146: Move code around, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 2008d809b6 088/146: Add cape-capf-with-predicate, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 4b424150ef 090/146: cape-super-capf: Delete duplicates (Fix #13), ELPA Syncer, 2022/01/09
- [elpa] externals/cape da32e232d6 093/146: cape--company-call: Cheaper timeout checking, throw error,
ELPA Syncer <=
- [elpa] externals/cape c4d821d55b 079/146: Add cape--symbol-annotation, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 2ce63259d7 097/146: Update README - Asynchronous Company backends work as expected, ELPA Syncer, 2022/01/09
- [elpa] externals/cape c1f7fa746b 104/146: Improve synchronization, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 1d69a06890 117/146: cape-tex/cape-sgml: Add autoloads, ELPA Syncer, 2022/01/09
- [elpa] externals/cape 7f11b354df 124/146: cape-company-capf: Remove symbol restriction, ELPA Syncer, 2022/01/09
- [elpa] externals/cape a6db83b1bd 135/146: Improve repair function, ELPA Syncer, 2022/01/09
- [elpa] externals/cape f26e835929 131/146: README: Do not use hashed symbol, ELPA Syncer, 2022/01/09
- [elpa] externals/cape e23226cb1c 022/146: cape-file-capf: Add company-prefix-length=t after slash (Fix #8), ELPA Syncer, 2022/01/09
- [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