diff --git a/collects/mzlib/private/contract.ss b/collects/mzlib/private/contract.ss index 8ff0496ff9..5070da2510 100644 --- a/collects/mzlib/private/contract.ss +++ b/collects/mzlib/private/contract.ss @@ -568,10 +568,6 @@ add struct contracts for immutable structs? (define pos-module-source (module-source-as-symbol #'pos-stx)) (define contract-id ctrct) - ;(if #f id) - ; syntax-local-lift - ;(check-first-order contract-id id #'pos-stx) ;; we'd like to use this ... - (define-syntax id-rename (make-provide/contract-transformer (quote-syntax contract-id) (quote-syntax id) @@ -579,7 +575,7 @@ add struct contracts for immutable structs? (syntax-local-lift-module-end-declaration #'(begin - (-contract contract-id id pos-module-source 'ignored #'pos-stx) + (-contract contract-id id pos-module-source 'ignored #'id) (void))) (syntax (code id-rename))))) diff --git a/collects/tests/mzscheme/contract-test.ss b/collects/tests/mzscheme/contract-test.ss index 154d6fe54a..c4fa5bb776 100644 --- a/collects/tests/mzscheme/contract-test.ss +++ b/collects/tests/mzscheme/contract-test.ss @@ -4509,6 +4509,16 @@ (eval '(require neg)))) + (error-test + #'(parameterize ([current-namespace (make-namespace)]) + (eval '(module bug mzscheme + (require (lib "contract.ss")) + (define the-defined-variable 'five) + (provide/contract [the-defined-variable number?]))) + (eval '(require bug))) + (λ (x) + (and (exn? x) + (regexp-match #rx"on the-defined-variable" (exn-message x)))))