From 1fabdff401b7469d2ff9872dbd7c11aca71a8c34 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 26 Jun 2013 04:28:57 +0200 Subject: [PATCH] repair interaction of taints and submodule expansion original commit: dc11090f6bc6f4bf4494e50350526a221cfed50a --- .../typed-racket-lib/typed-racket/utils/arm.rkt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 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 116ccb57..ac38f7bf 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,21 +5,25 @@ ;; For simplicity, protect everything produced by Typed Racket. (define (arm stx) - (syntax-case stx (module #%plain-module-begin + (syntax-case stx (module module* #%plain-module-begin #%require #%provide begin define-values define-syntaxes - define-values-for-syntax) + begin-for-syntax) [(module name initial-import mb) (quasisyntax/loc stx (module name initial-import #,(arm #'mb)))] - [(#%plain-module-begin . _) (syntax-arm stx)] + [(module* name initial-import mb) + (quasisyntax/loc stx (module* name initial-import #,(arm #'mb)))] + [(#%plain-module-begin . _) (syntax-property (syntax-arm stx) + 'taint-mode + 'opaque)] [(#%require . _) stx] [(#%provide . _) stx] [(begin form ...) (quasisyntax/loc stx (begin #,@(stx-map arm #'(form ...))))] + [(begin-for-syntax form ...) + (quasisyntax/loc stx (begin-for-syntax #,@(stx-map arm #'(form ...))))] [(define-values ids expr) (quasisyntax/loc stx (define-values ids #,(arm #'expr)))] [(define-syntaxes ids expr) (quasisyntax/loc stx (define-syntaxes ids #,(arm #'expr)))] - [(define-values-for-syntax ids expr) - (quasisyntax/loc stx (define-values-for-syntax ids #,(arm #'expr)))] [_ (syntax-arm stx)]))