[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/geiser-guile 943e58b 039/284: Miscellaneous little fixes.
From: |
Philip Kaludercic |
Subject: |
[nongnu] elpa/geiser-guile 943e58b 039/284: Miscellaneous little fixes. |
Date: |
Sun, 1 Aug 2021 18:29:12 -0400 (EDT) |
branch: elpa/geiser-guile
commit 943e58b83a9c4da34754e8f737e59f2e5a496fc6
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>
Miscellaneous little fixes.
---
geiser/introspection.scm | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/geiser/introspection.scm b/geiser/introspection.scm
index c7b6de2..0a724f2 100644
--- a/geiser/introspection.scm
+++ b/geiser/introspection.scm
@@ -59,24 +59,30 @@
(cons 'position (find-position args form))
(cons 'module (symbol-module fun))))))
+(define (arglst args kind)
+ (let ((args (assq-ref args kind)))
+ (cond ((or (not args) (null? args)) '())
+ ((list? args) args)
+ (else (list args)))))
+
(define (signature fun args)
- (let ((req (assq-ref args 'required))
- (opt (assq-ref args 'optional))
- (key (assq-ref args 'keyword))
+ (let ((req (arglst args 'required))
+ (opt (arglst args 'optional))
+ (key (arglst args 'keyword))
(rest (assq-ref args 'rest)))
- (let ((sgn `(,fun ,@(or req '())
- ,@(if opt (cons #:optional opt) '())
- ,@(if key (cons #:key key) '()))))
+ (let ((sgn `(,fun ,@req
+ ,@(if (not (null? opt)) (cons #:opt opt) '())
+ ,@(if (not (null? key)) (cons #:key key) '()))))
(if rest `(,@sgn #:rest ,rest) sgn))))
(define (find-position args form)
(let* ((lf (length form))
(lf-1 (- lf 1)))
(if (= 1 lf) 0
- (let ((req (length (or (assq-ref args 'required) '())))
- (opt (length (or (assq-ref args 'optional) '())))
+ (let ((req (length (arglst args 'required)))
+ (opt (length (arglst args 'optional)))
(keys (map (lambda (k) (symbol->keyword (if (list? k) (car k)
k)))
- (or (assq-ref args 'keyword) '())))
+ (arglst args 'keyword)))
(rest (assq-ref args 'rest)))
(cond ((<= lf (+ 1 req)) lf-1)
((<= lf (+ 1 req opt)) (if (> opt 0) lf lf-1))
- [nongnu] elpa/geiser-guile 63c39be 019/284: Initial support for module name completion., (continued)
- [nongnu] elpa/geiser-guile 63c39be 019/284: Initial support for module name completion., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 06fabb2 020/284: Compile command adapted to new compiled-file-name behaviour., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 3432ccf 021/284: New command: module documentation., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 08ba036 023/284: Separate commands for evaluation and compilation., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile d18c35b 025/284: Fix in symbol help signature displaying., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 3655a74 026/284: (geiser eval) functionality moved to (geiser emacs)., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 8377f5e 028/284: Refactoring of the eval/compile procedures., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 2ac3f91 027/284: Play nice with (ice-9 history) by using WRITE to return values to Emacs., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 49842df 031/284: Correct stack in load/compile file retorts., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 4608da2 032/284: Partial support for stack trace display., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 943e58b 039/284: Miscellaneous little fixes.,
Philip Kaludercic <=
- [nongnu] elpa/geiser-guile 717f3d0 040/284: Fix for autodoc when point in a rest formal arg in define., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile ea9e341 041/284: Bug fix., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile acde425 043/284: Macro-expand commands., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile 7fcb4ea 047/284: Autodoc enhancements:, Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile eeda11c 050/284: Leave quasiquote alone in autodoc., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile af8296f 051/284: generic-methods implemented in scheme (no emacs side yet)., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile ea52102 055/284: A bit more robust generic methods., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile c3d36f3 056/284: Don't display autodoc for function being defined., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile d5ff699 057/284: Refactoring., Philip Kaludercic, 2021/08/01
- [nongnu] elpa/geiser-guile f36778f 059/284: Some tidy up., Philip Kaludercic, 2021/08/01