diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-28 04:35:45 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-28 04:35:45 +0100 |
commit | e78b749e34c2f6e681f815d0b9b9dd3d32537c88 (patch) | |
tree | a3b9ce9f95e20d5081b5f2f83c6a6cb2300b485d /scheme | |
parent | adf746b37d1ffa35abe99eb3ae2b85902e8781ce (diff) | |
download | geiser-chez-e78b749e34c2f6e681f815d0b9b9dd3d32537c88.tar.gz geiser-chez-e78b749e34c2f6e681f815d0b9b9dd3d32537c88.tar.bz2 |
Simpler handling of rest args in Emacs' side.
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/guile/geiser/introspection.scm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/scheme/guile/geiser/introspection.scm b/scheme/guile/geiser/introspection.scm index 0394926..7e468e7 100644 --- a/scheme/guile/geiser/introspection.scm +++ b/scheme/guile/geiser/introspection.scm @@ -67,7 +67,7 @@ (let ((sgn `(,fun ,@(or req '()) ,@(if opt (cons #:optional opt) '()) ,@(if key (cons #:key key) '())))) - (if rest `(,@sgn . ,rest) sgn)))) + (if rest `(,@sgn #:rest ,rest) sgn)))) (define (find-position args form) (let* ((lf (length form)) @@ -89,7 +89,7 @@ (else (+ 1 req (if (> opt 0) (+ 1 opt) 0) (if (null? keys) 0 (+ 1 (length keys))) - (if rest 1 0)))))))) + (if rest 2 0)))))))) (define (symbol->obj sym) (and (symbol? sym) |