From 9c58e1e8cda9c2babc70072340a3eecffe2a34b2 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 20 Apr 2014 19:56:39 -0600 Subject: [PATCH] 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 --- .../typed-racket-lib/typed-racket/utils/arm.rkt | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/arm.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/arm.rkt index 0aede1d6..5ef8bb16 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/arm.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/utils/arm.rkt @@ -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)]