From 80d0b2fcc330b44b1ca614c173a35cb8058b656f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 14 Dec 2013 20:21:04 -0700 Subject: [PATCH] fix `for-label` import of a submodule Closes PR 14155 Merge to v6.0 --- pkgs/racket-pkgs/racket-test/tests/racket/submodule.rktl | 7 +++++++ racket/src/racket/src/env.c | 1 + 2 files changed, 8 insertions(+) diff --git a/pkgs/racket-pkgs/racket-test/tests/racket/submodule.rktl b/pkgs/racket-pkgs/racket-test/tests/racket/submodule.rktl index ccbb33cbdc..8d3ca71e14 100644 --- a/pkgs/racket-pkgs/racket-test/tests/racket/submodule.rktl +++ b/pkgs/racket-pkgs/racket-test/tests/racket/submodule.rktl @@ -877,6 +877,13 @@ (module m (submod ".." n)))) +;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Check submodule and `for-label` + +(module requires-submodule-for-label racket/base + (module foo racket/base) + (require (for-label (submod "." foo)))) + ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (report-errs) diff --git a/racket/src/racket/src/env.c b/racket/src/racket/src/env.c index 6fcc351c72..bf58d302c8 100644 --- a/racket/src/racket/src/env.c +++ b/racket/src/racket/src/env.c @@ -928,6 +928,7 @@ scheme_new_module_env(Scheme_Env *env, Scheme_Module *m, int new_exp_module_tree scheme_prepare_label_env(env); menv->label_env = env->label_env; + menv->label_env->module_pre_registry = menv->module_pre_registry; menv->instance_env = env; if (new_exp_module_tree) {