syntax-parametereize: fix set! with rename transformers

Relevant to bootstrapworld/curr#423
This commit is contained in:
Matthew Flatt 2018-09-04 14:08:31 -06:00
parent 62a5086b2a
commit fa3c5abd00
2 changed files with 14 additions and 1 deletions

View File

@ -168,6 +168,18 @@
(define trois (slv num))))
(test #t = trois 3))
(let ()
(define x 1)
(define y 10)
(define-rename-transformer-parameter num
(make-rename-transformer #'y))
(syntax-parameterize ([num (make-rename-transformer #'x)])
(test #t = num 1)
(set! num 3)
(test #t = num 3))
(test #t = x 3)
(test #t = num 10))
;; ----------------------------------------
(let ()

View File

@ -2,7 +2,8 @@
(module stxparamkey '#%kernel
(#%require "small-scheme.rkt" "define.rkt"
"stxcase.rkt" "stxloc.rkt" "with-stx.rkt"
(only '#%unsafe unsafe-root-continuation-prompt-tag))
(only '#%unsafe unsafe-root-continuation-prompt-tag)
(for-template '#%kernel))
;; Consulted before the expander's table, for use by compile-time
;; code wrapped by a run-time-phased `syntax-parameterize`: