diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-27 22:45:58 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-27 22:45:58 +0200 |
commit | fa57fec9e27da642c12244d097ae2da601f9a08d (patch) | |
tree | 86df58280c3e7a6991573441c85006768ceea1e0 /scheme/plt/geiser/autodoc.ss | |
parent | b8573ff1667349e87980fd1b37f48512d99449cf (diff) | |
download | geiser-guile-fa57fec9e27da642c12244d097ae2da601f9a08d.tar.gz geiser-guile-fa57fec9e27da642c12244d097ae2da601f9a08d.tar.bz2 |
PLT: Small refactorings; rudimentary support for syntax-case arg name snarfing.
Diffstat (limited to 'scheme/plt/geiser/autodoc.ss')
-rw-r--r-- | scheme/plt/geiser/autodoc.ss | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/scheme/plt/geiser/autodoc.ss b/scheme/plt/geiser/autodoc.ss index 1bec9fd..34dd997 100644 --- a/scheme/plt/geiser/autodoc.ss +++ b/scheme/plt/geiser/autodoc.ss @@ -76,26 +76,26 @@ (define (parse-datum! datum store) (with-handlers ((exn? (lambda (_) void))) (match datum - ((list 'module name lang forms ...) + (`(module ,name ,lang . ,forms) (for-each (lambda (f) (parse-datum! f store)) forms)) - ((list 'define (list (list name formals ...) other ...) body ...) + (`(define ((,name . ,formals) ,_) ,_) (add-signature! name formals store)) - ((list 'define (list name formals ...) body ...) + (`(define (,name . ,formals) ,_) (add-signature! name formals store)) - ((list 'define name (list 'lambda formals body ...)) + (`(define ,name (lambda ,formals ,_)) (add-signature! name formals store)) - ((list 'define name (list 'case-lambda clauses ...)) + (`(define ,name (case-lambda ,clauses ...)) (for-each (lambda (c) (add-signature! name (car c) store)) (reverse clauses))) - ((list 'define-for-syntax (list name formals ...) body ...) + (`(define-for-syntax (,name . ,formals) ,_) (add-signature! name formals store)) - ((list 'define-for-syntax name (list 'lambda formals body ...)) + (`(define-for-syntax ,name (lambda ,formals ,_)) (add-signature! name formals store)) - ((list 'define-syntax-rule (list name formals ...) body ...) + (`(define-syntax-rule (,name . ,formals) ,_) (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))) + (`(define-syntax ,name (syntax-rules ,specials . ,clauses)) + (for-each (lambda (c) (add-signature! name (cdar c) store)) (reverse clauses))) + (`(define-syntax ,name (lambda ,_ (syntax-case ,_ . ,clauses))) + (for-each (lambda (c) (add-signature! name (cdar c) store)) (reverse clauses))) (_ void)))) (define (add-signature! name formals store) |