From 970dcd1ab0e8c5035ee9502c887b0589ff25e04e Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Tue, 2 Sep 2008 04:06:08 +0000 Subject: [PATCH] extend syntax/module-reader to avoid ugly hack in scribble/doc/reader svn: r11517 original commit: eaa5a69fa500c18b658199dfac0fa96bc19084cd --- collects/scribble/doc/reader.ss | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/collects/scribble/doc/reader.ss b/collects/scribble/doc/reader.ss index 2e9c3342..ddc61613 100644 --- 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"))