fixed macro stepper test

(cherry picked from commit f4978d2fdb)
This commit is contained in:
Ryan Culpepper 2014-07-18 16:35:58 -04:00
parent e391bb1755
commit 2178fbf4d4
2 changed files with 8 additions and 13 deletions

View File

@ -1,5 +1,6 @@
#lang racket/base #lang racket/base
(require racket/promise (require (for-syntax racket/base)
racket/promise
racket/list racket/list
syntax/modcode syntax/modcode
syntax/modresolve syntax/modresolve
@ -199,13 +200,6 @@
[(begin-for-syntax . _) [(begin-for-syntax . _)
(eval/compile stx)] (eval/compile stx)]
[(define-values (id ...) . _) [(define-values (id ...) . _)
(with-syntax ([defvals (stx-car stx)] (eval/compile #'(define-syntaxes (id ...) (values)))]
[undefined (letrec ([x x]) x)])
(for ([id (syntax->list #'(id ...))])
(with-syntax ([id id])
(eval/compile #'(defvals (id) undefined)))))
;; Following doesn't work (namespace mismatch)
;; (eval/compile #'(define-values (id ...) (let ([id #f] ...) (values id ...))))
]
[_else [_else
(void)])) (void)]))

View File

@ -193,10 +193,11 @@
(test-case "macro def within begin" (test-case "macro def within begin"
(let ([rs (reductions (let ([rs (reductions
(parameterize ((current-namespace testing-namespace))
(trace '(begin (trace '(begin
(define-syntax-rule (m x e) (define-syntax-rule (m x e)
(define x e)) (define x e))
(m y 12))))]) (m y 12)))))])
(check-pred list? rs) (check-pred list? rs)
(check-false (ormap misstep? rs)) (check-false (ormap misstep? rs))
(check-true (for/or ([step rs]) (check-true (for/or ([step rs])