summaryrefslogtreecommitdiff
path: root/scheme
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-10 00:06:38 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-10 00:06:38 +0100
commit0490e6d2047aa97be3a0b3e34075557666336679 (patch)
tree458b97f2e65887b8139a615569d3217cddf85320 /scheme
parent21ab330125c16075df2ed0168ee3dedf39dd43bd (diff)
downloadgeiser-chez-0490e6d2047aa97be3a0b3e34075557666336679.tar.gz
geiser-chez-0490e6d2047aa97be3a0b3e34075557666336679.tar.bz2
Better args reporting for macros.
Diffstat (limited to 'scheme')
-rw-r--r--scheme/geiser/introspection.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/scheme/geiser/introspection.scm b/scheme/geiser/introspection.scm
index ffa2c73..ae2b0d3 100644
--- a/scheme/geiser/introspection.scm
+++ b/scheme/geiser/introspection.scm
@@ -57,8 +57,12 @@
(and opt 'rest))))
(define (macro-args macro)
- (format-args '(...) #f))
+ (let ((prog (macro-transformer macro)))
+ (if prog
+ (program-args prog)
+ (format-args '(...) #f))))
+(define (foobar) 6)
(define (format-args args opt)
(list (cons 'required args)
(cons 'optional (or opt '()))))