summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-27 22:45:58 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-27 22:45:58 +0200
commitfa57fec9e27da642c12244d097ae2da601f9a08d (patch)
tree86df58280c3e7a6991573441c85006768ceea1e0
parentb8573ff1667349e87980fd1b37f48512d99449cf (diff)
downloadgeiser-chez-fa57fec9e27da642c12244d097ae2da601f9a08d.tar.gz
geiser-chez-fa57fec9e27da642c12244d097ae2da601f9a08d.tar.bz2
PLT: Small refactorings; rudimentary support for syntax-case arg name snarfing.
-rw-r--r--scheme/plt/geiser/autodoc.ss24
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)