From 4d806fb02dd18c6f067d84806eb8ca93051da0d2 Mon Sep 17 00:00:00 2001 From: Asumu Takikawa Date: Tue, 4 Nov 2014 17:00:15 -0500 Subject: [PATCH] Change contract on change-contract-fixups The context should provide a flattened list of syntax to the function. --- pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/core.rkt | 4 +++- .../typed-racket-lib/typed-racket/private/type-contract.rkt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/core.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/core.rkt index 51f7cd23a7..d4dc928e8a 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/core.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/core.rkt @@ -34,7 +34,9 @@ ;; perform the provide transformation from [Culpepper 07] [transformed-body (begin0 (remove-provides #'body2) (do-time "Removed provides"))] ;; add the real definitions of contracts on requires - [transformed-body (begin0 (change-contract-fixups #'transformed-body) (do-time "Fixed contract ids"))] + [transformed-body + (begin0 (change-contract-fixups (syntax->list #'transformed-body)) + (do-time "Fixed contract ids"))] ;; add the real definitions of contracts on the after-code [(after-code ...) (change-provide-fixups (flatten-all-begins pre-after-code))] ;; potentially optimize the code based on the type information diff --git a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/type-contract.rkt b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/type-contract.rkt index 91e67721f8..388417e708 100644 --- a/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/type-contract.rkt +++ b/pkgs/typed-racket-pkgs/typed-racket-lib/typed-racket/private/type-contract.rkt @@ -150,7 +150,7 @@ (define include-extra-requires? (box #f)) (define (change-contract-fixups forms) - (for/list ((e (in-syntax forms))) + (for/list ((e (in-list forms))) (if (not (define/fixup-contract? e)) e (begin (set-box! include-extra-requires? #t)