commit 46ffc5cf441cd602bae6342f53610a30c89ea128
parent 5c336406617bebea543de232a788eecda6c3c7d3
Author: Eli Barzilay <eli@barzilay.org>
Date: Fri, 11 Mar 2011 15:40:13 -0500
Add comment on how to make interactions use syntax values.
Also add `code:comment' to the keyword list.
original commit: 01089550e2f994bbc8e027478ec41c7985ec2e80
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/collects/scribble/eval.rkt b/collects/scribble/eval.rkt
@@ -197,7 +197,7 @@
(define (extract-to-evaluate s)
(let loop ([s s][expect #f])
- (syntax-case s (code:comment eval:alts eval:check)
+ (syntax-case s (code:line code:comment eval:alts eval:check)
[(code:line v (code:comment . rest))
(loop (extract s cdr car) expect)]
[(code:comment . rest)
@@ -393,7 +393,12 @@
[else s]))))
list)))
+ ;; Quote an expression to be evaluated:
(define-syntax-rule (quote-expr e) 'e)
+ ;; This means that sandbox evaluation always works on sexprs, to get
+ ;; it to work on syntaxes, use this definition:
+ ;; (require syntax/strip-context)
+ ;; (define-syntax-rule (quote-expr e) (strip-context (quote-syntax e)))
(define (do-interaction-eval ev e)
(let-values ([(e expect) (extract-to-evaluate e)])