From b6a7f7bc38a47ae350ee91da3b741eb99522349e Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 14 Mar 2019 07:39:20 -0600 Subject: [PATCH] expander: keep reference that is needed after all Part of e7744efb7d triggered a test failure (that I missed by somehow running tests incorrectly). It turns out that phase -1 transformer bindings can be used in phase-0 code via shifting. This change does not effect the repair for building with machine-independent bytecode. --- racket/src/expander/eval/module.rkt | 3 --- racket/src/racket/src/startup.inc | 12 +----------- 2 files changed, 1 insertion(+), 14 deletions(-) diff --git a/racket/src/expander/eval/module.rkt b/racket/src/expander/eval/module.rkt index 220676f861..81e6cfe390 100644 --- a/racket/src/expander/eval/module.rkt +++ b/racket/src/expander/eval/module.rkt @@ -194,9 +194,6 @@ [(zero-phase? phase-level) (lambda (name val) (error 'define-syntax "should not happen at phase level 0"))] - [(zero-phase? (phase+ phase-shift phase-level)) - ;; No use for phase -1 bindings - (lambda (name val) (void))] [else (lambda (name val) (namespace-set-transformer! ns (sub1 phase-level) name val))]))) diff --git a/racket/src/racket/src/startup.inc b/racket/src/racket/src/startup.inc index 2cdd0218a6..4128085b0a 100644 --- a/racket/src/racket/src/startup.inc +++ b/racket/src/racket/src/startup.inc @@ -37874,16 +37874,6 @@ static const char *startup_source = "(error" " 'define-syntax" " \"should not happen at phase level 0\"))))" -"(if(zero-phase?" -"(phase+" -" phase-shift_0" -" phase-level_0))" -"(let-values()" -"(lambda(name_0" -" val_0)" -"(begin" -" 'temp52" -"(void))))" "(let-values()" "(lambda(name_0" " val_0)" @@ -37894,7 +37884,7 @@ static const char *startup_source = "(sub1" " phase-level_0)" " name_0" -" val_0))))))))" +" val_0)))))))" "(make-module-body-instance-instance18.1" " temp52_0))))" "(let-values(((instantiate-body_0)"