From 46ffc5cf441cd602bae6342f53610a30c89ea128 Mon Sep 17 00:00:00 2001 From: Eli Barzilay Date: Fri, 11 Mar 2011 15:40:13 -0500 Subject: [PATCH] Add comment on how to make interactions use syntax values. Also add `code:comment' to the keyword list. original commit: 01089550e2f994bbc8e027478ec41c7985ec2e80 --- collects/scribble/eval.rkt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/collects/scribble/eval.rkt b/collects/scribble/eval.rkt index 9d69a819..1d9d1c57 100644 --- 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)])