summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-26 05:07:41 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-26 05:07:41 +0200
commitf67ef229256de7406666dd5ffe14c229bf0b2045 (patch)
treea0247b344427ef81f938a431db0b6b113e4e04b9
parenta9c8026ca23ae980e0288b4657567fc586673e3c (diff)
downloadgeiser-chez-f67ef229256de7406666dd5ffe14c229bf0b2045.tar.gz
geiser-chez-f67ef229256de7406666dd5ffe14c229bf0b2045.tar.bz2
PLT: Bug fix in autodoc's argument name parsing.
Definitions of the form (define (foo bar) (lambda ---) --) were not being matched correctly.
-rw-r--r--scheme/plt/geiser/autodoc.ss7
1 files changed, 4 insertions, 3 deletions
diff --git a/scheme/plt/geiser/autodoc.ss b/scheme/plt/geiser/autodoc.ss
index 1eed644..ef73cc1 100644
--- a/scheme/plt/geiser/autodoc.ss
+++ b/scheme/plt/geiser/autodoc.ss
@@ -78,10 +78,10 @@
(for-each (lambda (f) (parse-datum! f store)) forms))
((list 'define (list (list name formals ...) other ...) body ...)
(add-signature! name formals store))
- ((list 'define name (list 'lambda formals body ...))
- (add-signature! name formals store))
((list 'define (list name formals ...) body ...)
(add-signature! name formals store))
+ ((list 'define name (list 'lambda formals body ...))
+ (add-signature! name formals store))
((list 'define-for-syntax (list name formals ...) body ...)
(add-signature! name formals store))
((list 'define-for-syntax name (list 'lambda formals body ...))
@@ -91,7 +91,8 @@
(_ void)))
(define (add-signature! name formals store)
- (hash-set! store name (parse-formals formals)))
+ (when (symbol? name)
+ (hash-set! store name (parse-formals formals))))
(define (parse-formals formals)
(let loop ((formals formals) (req '()) (opt '()) (keys '()))