commit 8089d6867beb1bd93a60d581000d2d09eaef8beb
parent 2a91307fce58d2aace72b41a11b5510e78652775
Author: Matthew Flatt <mflatt@racket-lang.org>
Date: Sun, 22 Feb 2009 21:40:45 +0000
delay 'scheme' expansion to expression position
svn: r13794
original commit: 42fad650c73fb9efb486db2a0eec58d46a1d5a13
Diffstat:
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/collects/scribble/scheme.ss b/collects/scribble/scheme.ss
@@ -653,10 +653,13 @@
[else `(quote ,v)])))
(define (cvt s)
(datum->syntax #'here (stx->loc-s-expr s) #f))
- (syntax-case stx ()
- [(_ expr) #`(typeset-code #,(cvt #'expr))]
- [(_ expr (... ...))
- #`(typeset-code #,(cvt #'(code:line expr (... ...))))])))]
+ (if (eq? (syntax-local-context) 'expression)
+ (syntax-case stx ()
+ [(_ expr) #`(typeset-code #,(cvt #'expr))]
+ [(_ expr (... ...))
+ #`(typeset-code #,(cvt #'(code:line expr (... ...))))])
+ (quasisyntax/loc stx
+ (#%expression #,stx)))))]
[(_ code typeset-code uncode d->s)
#'(define-code code typeset-code uncode d->s syntax-property)]
[(_ code typeset-code uncode)