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)]))