diff options
| author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-27 00:29:28 +0200 | 
|---|---|---|
| committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-27 00:29:28 +0200 | 
| commit | 3b849eb2312f5ecc0ecb5a20fe574f8f69d4deb4 (patch) | |
| tree | da86cf38bdd6ca81aff7480f814517f76711c12a /scheme/plt | |
| parent | a47fe92e1f5729a9f80d22e8437fb6d961d411c4 (diff) | |
| download | geiser-guile-3b849eb2312f5ecc0ecb5a20fe574f8f69d4deb4.tar.gz geiser-guile-3b849eb2312f5ecc0ecb5a20fe574f8f69d4deb4.tar.bz2 | |
PLT: autodoc arg names scanning: better case-lambda, syntax-rules added.
Diffstat (limited to 'scheme/plt')
| -rw-r--r-- | scheme/plt/geiser/autodoc.ss | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/scheme/plt/geiser/autodoc.ss b/scheme/plt/geiser/autodoc.ss index c349f6e..7fbdb0c 100644 --- a/scheme/plt/geiser/autodoc.ss +++ b/scheme/plt/geiser/autodoc.ss @@ -32,7 +32,7 @@            (name (car loc))            (path (cdr loc))            (sgns (and path (find-signatures path name id))) -          (sgns (if (list? sgns) sgns '()))) +          (sgns (and sgns (if (list? sgns) sgns '()))))       (and sgns            `(,id              (name . ,name) @@ -83,14 +83,18 @@       (add-signature! name formals store))      ((list 'define name (list 'lambda formals body ...))       (add-signature! name formals store)) -    ((list 'define name (list 'case-lambda forms ...)) -     (for-each (lambda (f) (parse-datum! (list 'define name (cons 'lambda f)))) forms)) +    ((list 'define name (list 'case-lambda clauses ...)) +     (for-each (lambda (c) (add-signature! name (car c) store)) (reverse clauses)))      ((list 'define-for-syntax (list name formals ...) body ...)       (add-signature! name formals store))      ((list 'define-for-syntax name (list 'lambda formals body ...))       (add-signature! name formals store))      ((list 'define-syntax-rule (list name formals ...) body ...)       (add-signature! name formals store)) +    ((list 'define-syntax name (list 'syntax-rules specials clauses ...)) +     (for-each (lambda (c) +                 (add-signature! name (cdar c) store)) +               (reverse clauses)))      (_ void)))  (define (add-signature! name formals store) | 
