[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-chicken 50ddd07 070/102: Much faster completions fo
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-chicken 50ddd07 070/102: Much faster completions for Chicken 5; less errors in the log. |
Date: |
Sun, 1 Aug 2021 18:26:57 -0400 (EDT) |
branch: elpa/geiser-chicken
commit 50ddd071588e9e284566561afccf720eca507fed
Author: Dan Leslie <dan@ironoxide.ca>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Much faster completions for Chicken 5; less errors in the log.
---
geiser/chicken5.scm | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)
diff --git a/geiser/chicken5.scm b/geiser/chicken5.scm
index 4ef110e..6c8ceae 100644
--- a/geiser/chicken5.scm
+++ b/geiser/chicken5.scm
@@ -140,15 +140,13 @@
(write-to-log out-form))
(newline)))
-
- (define (read* str)
- (with-input-from-string str (lambda () (read))))
(define (eval* str)
- (cond
- ((symbol? str) (eval str))
- ((string? str) (eval (read* str)))
- (else #f)))
+ (handle-exceptions exn #f
+ (with-all-output-to-string
+ (eval
+ (with-input-from-string (->string str)
+ (lambda () (read)))))))
(define (fmt node)
(let* ((mod (cadr node))
@@ -160,7 +158,9 @@
`(,sym ("args" (("required" <macro>)
("optional" ...)
("key")))
- ("module")))
+ ,(if (and mod)
+ (cons "module" mod)
+ (list "module"))))
((or (equal? 'variable type)
(equal? 'constant type))
`(,sym ("value" . ,(eval* sym))))
@@ -197,7 +197,9 @@
`(,sym ("args" (("required" ,@reqs)
("optional" ,@opts)
("key" ,@keys)))
- ("module")))))))
+ ,(if (and mod)
+ (cons "module" mod)
+ (list "module"))))))))
;; Builds a signature list from an identifier
(define (find-signatures sym)
@@ -277,14 +279,13 @@
(define (geiser-autodoc ids . rest)
(cond
- ((null? ids) '())
- ((not (list? ids))
- (geiser-autodoc (list ids)))
- (else
- (let ((details (find-signatures (car ids))))
- (if (null? details)
- (geiser-autodoc (cdr ids))
- details)))))
+ ((null? ids) #f)
+ ((symbol? ids)
+ (find-signatures ids))
+ ((list? ids)
+ (let ((first (find-signatures (car ids))))
+ (if first first (geiser-autodoc (cdr ids)))))
+ (else #f)))
(define (geiser-object-signature name object . rest)
(let* ((sig (geiser-autodoc `(,name))))
- [nongnu] elpa/geiser-chicken fb5baa4 042/102: No longer show arguments as strings., (continued)
- [nongnu] elpa/geiser-chicken fb5baa4 042/102: No longer show arguments as strings., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 78ce429 055/102: Adds required modules to binary parameters, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken b779e7e 057/102: Allows Chicken to limit the number of symbols provided to Geiser, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 4e5c66b 060/102: Support Chicken Scheme apropos =>2.3.0, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken ff59903 061/102: Improvements to Chicken completion speed, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d9e6778 063/102: Remove memoization, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 3c77b8b 064/102: Make geiser-chicken-required-modules customizable (#233), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken fb9ddca 066/102: Chicken 5 works with Geiser, many features removed, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 44a571f 068/102: Removed more unused code, speeding things up., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken aecb324 067/102: Version check is 4.x compatible again, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 50ddd07 070/102: Much faster completions for Chicken 5; less errors in the log.,
Philip Kaludercic <=
- [nongnu] elpa/geiser-chicken 12c74dc 073/102: Use string-equal instead of equalp, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 481fa76 077/102: More accurate Chicken completions, inspired by breadline, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken cc768c6 079/102: whitespace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken eb06d1e 082/102: Fix indentation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 30957df 083/102: Fix indentation, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 8e3719e 084/102: Delete trailing whitespace, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken ae856e7 085/102: Use cl-lib instead of cl, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken bdef28d 087/102: Change geiser-eval to accept lists as module name (C5), Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken 3ac2455 089/102: Adding elisp/geiser-chicken.el with past history, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-chicken d521c48 090/102: renames, Philip Kaludercic, 2021/08/01