commit 970dcd1ab0e8c5035ee9502c887b0589ff25e04e
parent 42d983a3cf39f9a02f3de10d2dce16a549091dff
Author: Eli Barzilay <eli@racket-lang.org>
Date: Tue, 2 Sep 2008 04:06:08 +0000
extend syntax/module-reader to avoid ugly hack in scribble/doc/reader
svn: r11517
original commit: eaa5a69fa500c18b658199dfac0fa96bc19084cd
Diffstat:
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/collects/scribble/doc/reader.ss b/collects/scribble/doc/reader.ss
@@ -2,22 +2,9 @@
scribble/doclang
-;; `read-inside' reads the whole body, so make wrapper1 return null so
-;; we get the right syntax, and then make wrapper2 do the actual
-;; reading. This might seem extreme, but I think that it's still
-;; better to use module-reader for the subtleties it deals with.
-
-#:wrapper1 (lambda (t) '())
-
-#:wrapper2
-(lambda (in read stx?)
- (let* ([skeleton (read in)]
- [skeleton (if stx? (syntax->list skeleton) skeleton)]
- [body (if stx?
- (scribble:read-syntax-inside (object-name in) in)
- (scribble:read-inside in))]
- [mod `(,(car skeleton) ,(cadr skeleton) ,(caddr skeleton)
- (#%module-begin doc () . ,body))])
- (if stx? (datum->syntax #f mod) mod)))
+#:read scribble:read-inside
+#:read-syntax scribble:read-syntax-inside
+#:whole-body-readers? #t
+#:wrapper1 (lambda (t) (list* 'doc '() (t)))
(require (prefix-in scribble: "../reader.ss"))