parent
e391bb1755
commit
2178fbf4d4
|
@ -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)]))
|
||||
|
|
|
@ -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])
|
||||
|
|
Loading…
Reference in New Issue
Block a user