summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 '()))))