fix taint-transparent syntax to lose lexical context
When submodules were introduced, the handling of taint-transparent syntax changed to keep its lexical context. Restore the original behavior, which is necessary to protect bindings, and fix taint handling on submodules. original commit: 4e3ff69798b4d1037fd865fa7715a2e77dd7a9ba
This commit is contained in:
parent
2b3e3d11d5
commit
9c58e1e8cd
|
@ -5,14 +5,10 @@
|
|||
|
||||
;; For simplicity, protect everything produced by Typed Racket.
|
||||
(define (arm stx)
|
||||
(syntax-case stx (module module* #%plain-module-begin
|
||||
#%require #%provide #%declare begin
|
||||
define-values define-syntaxes
|
||||
begin-for-syntax)
|
||||
[(module name initial-import mb)
|
||||
(quasisyntax/loc stx (module name initial-import #,(arm #'mb)))]
|
||||
[(module* name initial-import mb)
|
||||
(quasisyntax/loc stx (module* name initial-import #,(arm #'mb)))]
|
||||
(syntax-case stx (#%plain-module-begin
|
||||
#%require #%provide #%declare begin
|
||||
define-values define-syntaxes
|
||||
begin-for-syntax)
|
||||
[(#%plain-module-begin . _) (syntax-property (syntax-arm stx)
|
||||
'taint-mode
|
||||
'opaque)]
|
||||
|
|
Loading…
Reference in New Issue
Block a user