Fix for new expander.

pull/11/head
Sam Tobin-Hochstadt 9 years ago
parent db17d1860b
commit 0be362e112

@ -7,15 +7,16 @@
(define-syntax (module-test-external stx) (define-syntax (module-test-external stx)
(syntax-case stx () (syntax-case stx ()
[(_ expr ...) [(_ expr ...)
(with-syntax ([mod-name (generate-temporary)]) (let ([mod-name (syntax-e (generate-temporary))])
#'(begin (datum->syntax stx
(module* mod-name racket/base `(begin
(require (submod "..")) (module* ,mod-name racket/base
(require rackunit) (require (submod ".."))
expr ...) (require rackunit)
(module+ test ,@(syntax->datum #'(expr ...)))
(require (submod ".." mod-name)))))])) (module+ test
(require (submod ".." ,mod-name))))
stx))]))
(define-syntax (module-test-internal stx) (define-syntax (module-test-internal stx)
(syntax-case stx () (syntax-case stx ()
@ -36,4 +37,4 @@
(let ([exprs (syntax->datum #'(expr ...))]) (let ([exprs (syntax->datum #'(expr ...))])
(datum->syntax stx `(begin (datum->syntax stx `(begin
(module-test-internal ,@exprs) (module-test-internal ,@exprs)
(module-test-external ,@exprs)) stx))])) (module-test-external ,@exprs)) stx))]))

@ -4,27 +4,31 @@
(define-syntax (eval-as-untyped stx) (define-syntax (eval-as-untyped stx)
(syntax-case stx () (syntax-case stx ()
[(_ exprs ...) [(_ exprs ...)
(with-syntax ([sym (generate-temporary)] (let ([sym (generate-temporary)]
[sym2 (generate-temporary)]) [sym2 (generate-temporary)])
#'(begin (datum->syntax
(module sym racket stx
(require rackunit "../main.rkt" net/url) `(begin
exprs ...) (module ,sym racket
(require 'sym) (require rackunit "../main.rkt" net/url)
(module sym2 racket ,@(syntax->datum #'(exprs ...)))
(require rackunit (submod "../main.rkt" safe) net/url) (require ',sym)
exprs ...) (module ,sym2 racket
(require 'sym2)))])) (require rackunit (submod "../main.rkt" safe) net/url)
,@(syntax->datum #'(exprs ...)))
(require ',sym2))))]))
(define-syntax (eval-as-typed stx) (define-syntax (eval-as-typed stx)
(syntax-case stx () (syntax-case stx ()
[(_ exprs ...) [(_ exprs ...)
(with-syntax ([sym (generate-temporary)]) (let ([sym (syntax-e (generate-temporary))])
#'(begin (datum->syntax stx
(module sym typed/racket `(begin
(require typed/rackunit "../../typed/sugar.rkt" typed/net/url) (module ,sym typed/racket
exprs ...) (require typed/rackunit "../../typed/sugar.rkt" typed/net/url)
(require 'sym)))])) ,@(syntax->datum #'(exprs ...)))
(require ',sym))
stx))]))
(define-syntax-rule (eval-as-typed-and-untyped exprs ...) (define-syntax-rule (eval-as-typed-and-untyped exprs ...)
(begin (begin

Loading…
Cancel
Save