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
(require racket/promise
(require (for-syntax racket/base)
racket/promise
racket/list
syntax/modcode
syntax/modresolve
@ -199,13 +200,6 @@
[(begin-for-syntax . _)
(eval/compile stx)]
[(define-values (id ...) . _)
(with-syntax ([defvals (stx-car stx)]
[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 ...))))
]
(eval/compile #'(define-syntaxes (id ...) (values)))]
[_else
(void)]))

View File

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