From 89d6ebaab6117be5691c484a2fc8edf18c381164 Mon Sep 17 00:00:00 2001 From: Matthias Felleisen Date: Sun, 1 Jul 2012 18:40:52 -0400 Subject: [PATCH] shifted eval code, probably not needed --- .../lang/private/provide-and-scribble.rkt | 14 ------------- collects/lang/private/sl-eval.rkt | 20 ++++++++++++++++++- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/collects/lang/private/provide-and-scribble.rkt b/collects/lang/private/provide-and-scribble.rkt index da2c24e7fb..db8241d190 100644 --- a/collects/lang/private/provide-and-scribble.rkt +++ b/collects/lang/private/provide-and-scribble.rkt @@ -34,7 +34,6 @@ tests to run: (require racket/provide) (provide - define-module-local-eval provide-and-scribble all-from all-from-except ) @@ -201,16 +200,3 @@ tests to run: [name:id #'name])) lon)) -;; --------------------------------------------------------------------------------------------------- - -;; (define-module-local-eval name-of-evaluator) -;; a make-base-eval whose namespace is initialized with the module where the macro is used -(define-syntax-rule - (define-module-local-eval name) - (begin - (define-namespace-anchor ns) - (define name - (parameterize ([sandbox-namespace-specs (list (lambda () (namespace-anchor->namespace ns)))] - [sandbox-error-output 'string] - [sandbox-output 'string]) - (make-base-eval))))) diff --git a/collects/lang/private/sl-eval.rkt b/collects/lang/private/sl-eval.rkt index 3a818738a4..356cc0ec7d 100644 --- a/collects/lang/private/sl-eval.rkt +++ b/collects/lang/private/sl-eval.rkt @@ -3,6 +3,10 @@ (require teachpack/2htdp/scribblings/img-eval racket/sandbox mzlib/pconvert file/convertible scribble/eval) (provide + ;; syntax: + ;; use with (define-module-local-eval e) ... (eval 'foo e) + define-module-local-eval + ;; syntax: ;; use with @interaction[#:eval (*sl-eval (define x ...) ...) ...] to create interactive examples bsl-eval @@ -92,4 +96,18 @@ (asl-eval def ...) (*sl-eval 'lang/htdp-advanced 'htdp/asl/lang/reader def ...)) -; (isl-eval+) \ No newline at end of file +; (isl-eval+) + +;; ----------------------------------------------------------------------------- + +;; (define-module-local-eval name-of-evaluator) +;; a make-base-eval whose namespace is initialized with the module where the macro is used +(define-syntax-rule + (define-module-local-eval name) + (begin + (define-namespace-anchor ns) + (define name + (parameterize ([sandbox-namespace-specs (list (lambda () (namespace-anchor->namespace ns)))] + [sandbox-error-output 'string] + [sandbox-output 'string]) + (make-base-eval))))) \ No newline at end of file