summaryrefslogtreecommitdiff
path: root/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
commitd0f98a72159710f67f0cd4cfb8bf9d14ab557971 (patch)
tree6157e220a03087a880b733d3714a8f65cfb08fdb /geiser
parentc60b2e0db1190d2164fd2574ee8bcace4bb2ffff (diff)
downloadgeiser-guile-d0f98a72159710f67f0cd4cfb8bf9d14ab557971.tar.gz
geiser-guile-d0f98a72159710f67f0cd4cfb8bf9d14ab557971.tar.bz2
Simpler handling of rest args in Emacs' side.
Diffstat (limited to 'geiser')
-rw-r--r--geiser/introspection.scm4
1 files changed, 2 insertions, 2 deletions
diff --git a/geiser/introspection.scm b/geiser/introspection.scm
index 0394926..7e468e7 100644
--- a/geiser/introspection.scm
+++ b/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)