summaryrefslogtreecommitdiff
path: root/scheme/guile/geiser
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-28 04:35:45 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-28 04:35:45 +0100
commite78b749e34c2f6e681f815d0b9b9dd3d32537c88 (patch)
treea3b9ce9f95e20d5081b5f2f83c6a6cb2300b485d /scheme/guile/geiser
parentadf746b37d1ffa35abe99eb3ae2b85902e8781ce (diff)
downloadgeiser-chez-e78b749e34c2f6e681f815d0b9b9dd3d32537c88.tar.gz
geiser-chez-e78b749e34c2f6e681f815d0b9b9dd3d32537c88.tar.bz2
Simpler handling of rest args in Emacs' side.
Diffstat (limited to 'scheme/guile/geiser')
-rw-r--r--scheme/guile/geiser/introspection.scm4
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)