diff --git a/collects/scribble/eval.rkt b/collects/scribble/eval.rkt index 1080c0c8..cf2f1310 100644 --- a/collects/scribble/eval.rkt +++ b/collects/scribble/eval.rkt @@ -9,8 +9,11 @@ interaction0 interaction-eval interaction-eval-show + racketblock+interaction racketblock+eval (rename-out [racketblock+eval schemeblock+eval]) + racketblock0+interaction racketblock0+eval + racketmod+interaction racketmod+eval (rename-out [racketmod+eval schememod+eval]) def+int defs+int @@ -434,6 +437,16 @@ (syntax-case stx () [(H e ...) (syntax/loc stx (-interaction H e ...))])) +(define-syntax racketblock+interaction + (syntax-rules () + [(_ #:eval ev name e ...) + (let ([eva ev]) + (#%expression + (begin (interaction #:eval eva e) ... + (racketblock name e ...))))] + [(_ name e ...) + (racketblock+interaction #:eval (make-base-eval) name e ...)])) + (define-syntax racketblock+eval (syntax-rules () [(_ #:eval ev e ...) @@ -444,6 +457,16 @@ [(_ e ...) (racketblock+eval #:eval (make-base-eval) e ...)])) +(define-syntax racketblock0+interaction + (syntax-rules () + [(_ #:eval ev name e ...) + (let ([eva ev]) + (#%expression + (begin (interaction #:eval eva e) ... + (racketblock0 name e ...))))] + [(_ name e ...) + (racketblock0+interaction #:eval (make-base-eval) name e ...)])) + (define-syntax racketblock0+eval (syntax-rules () [(_ #:eval ev e ...) @@ -453,6 +476,16 @@ [(_ e ...) (racketblock0+eval #:eval (make-base-eval) e ...)])) +(define-syntax racketmod+interaction + (syntax-rules () + [(_ #:eval ev name e ...) + (let ([eva ev]) + (#%expression + (begin (interaction #:eval eva e) ... + (racketmod name e ...))))] + [(_ name e ...) + (racketmod+interaction #:eval (make-base-eval) name e ...)])) + (define-syntax racketmod+eval (syntax-rules () [(_ #:eval ev name e ...) diff --git a/collects/scribblings/scribble/eval.scrbl b/collects/scribblings/scribble/eval.scrbl index a71ea382..552f6735 100644 --- a/collects/scribblings/scribble/eval.scrbl +++ b/collects/scribblings/scribble/eval.scrbl @@ -84,18 +84,33 @@ Like @racket[interaction-eval], but produces an element representing the printed form of the evaluation result.} +@defform*[[(racketblock+interaction datum ...) + (racketblock+interaction #:eval eval-expr datum ...)]]{ + +Combines @racket[racketblock] and @racket[interaction].} + @defform*[[(racketblock+eval datum ...) (racketblock+eval #:eval eval-expr datum ...)]]{ Combines @racket[racketblock] and @racket[interaction-eval].} +@defform*[[(racketblock0+interaction datum ...) + (racketblock0+interaction #:eval eval-expr datum ...)]]{ + +Combines @racket[racketblock0] and @racket[interaction].} + @defform*[[(racketblock0+eval datum ...) (racketblock0+eval #:eval eval-expr datum ...)]]{ Combines @racket[racketblock0] and @racket[interaction-eval].} +@defform*[[(racketmod+interaction datum ...) + (racketmod+interaction #:eval eval-expr datum ...)]]{ + +Combines @racket[racketmod] and @racket[interaction].} + @defform*[[(racketmod+eval name datum ...) (racketmod+eval #:eval eval-expr name datum ...)]]{