From fa57fec9e27da642c12244d097ae2da601f9a08d Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Sun, 27 Sep 2009 22:45:58 +0200
Subject: PLT: Small refactorings; rudimentary support for syntax-case arg name
 snarfing.

---
 scheme/plt/geiser/autodoc.ss | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

(limited to 'scheme/plt')

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)
-- 
cgit v1.2.3