commit 32a717c24332296f6ed2c80ba98e7ca8845bd49d
parent f57b1ecd06e82a1095a3a74cdfe9b17b75c1dd9c
Author: Georges Dupéron <georges.duperon@gmail.com>
Date: Thu, 31 Mar 2016 13:27:54 +0200
Fixed GH issue #3 (again)
Diffstat:
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/lang/reader.rkt b/lang/reader.rkt
@@ -19,6 +19,7 @@
(variable-reference->namespace (#%variable-reference)))])
#`(mod nam lang
(modbeg
+ (module code racket/base)
(module* test racket/base
(require repltest/private/run-interactions)
(run-interactions (open-input-string #,(port->string in))
diff --git a/private/run-interactions.rkt b/private/run-interactions.rkt
@@ -8,14 +8,15 @@
rackunit
repltest/private/util)
-(define (run-interactions in-rest varref)
- (define res-mod
- (module-path-index-resolve
- (module-path-index-join '(submod "..")
- (variable-reference->module-path-index varref))))
- (dynamic-require res-mod #f)
- (define mod-ns (module->namespace res-mod))
- (run-interactions2 in-rest mod-ns))
+(define-syntax-rule (run-interactions in-rest varref)
+ (begin
+ (require (prefix-in "main-mod:" (submod "..")))
+ (define res-mod
+ (module-path-index-resolve
+ (module-path-index-join '(submod "..")
+ (variable-reference->module-path-index varref))))
+ (define mod-ns (module->namespace res-mod))
+ (run-interactions2 in-rest mod-ns)))
(define (run-interactions2 in-rest mod-ns)
(let loop ()
diff --git a/test/meta.rkt b/test/meta.rkt
@@ -4,6 +4,8 @@
;; gobbled-up by the preceeding read.
(define x 0)
(define (y) #R(- 3 2))
+(define-syntax (module->namespace stx) #'error)
+(provide module->namespace)
'displayed
(displayln "displayed too")