diff options
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/guile/geiser/doc.scm | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/scheme/guile/geiser/doc.scm b/scheme/guile/geiser/doc.scm index 4bd063b..8c00e22 100644 --- a/scheme/guile/geiser/doc.scm +++ b/scheme/guile/geiser/doc.scm @@ -83,14 +83,13 @@ (else #f)))) (define (macro-args tf) - (cond ((procedure-property tf 'patterns) => - (lambda (pats) - (filter identity - (map (lambda (p) - (and (every symbol? p) - (list (cons 'required p)))) - pats)))) - (else default-macro-args))) + (let* ((pats (procedure-property tf 'patterns)) + (args (and pats (filter identity + (map (lambda (p) + (and (every symbol? p) + (list (cons 'required p)))) + pats))))) + (or (and args (not (null? args)) args) default-macro-args))) (define (arity->args art) (define (gen-arg-names count) |