aboutsummaryrefslogtreecommitdiff
path: root/environment.c
diff options
context:
space:
mode:
Diffstat (limited to 'environment.c')
-rw-r--r--environment.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/environment.c b/environment.c
index b262a8e7..f61aee56 100644
--- a/environment.c
+++ b/environment.c
@@ -22,7 +22,6 @@ env_t *new_compilation_unit(CORD *libname)
env->globals = new(Table_t);
env->locals = new(Table_t, .fallback=env->globals);
env->imports = new(Table_t);
- env->libname = libname;
if (!TEXT_TYPE)
TEXT_TYPE = Type(TextType, .env=namespace_env(env, "Text"));
@@ -381,7 +380,9 @@ env_t *new_compilation_unit(CORD *libname)
.ret=Type(TextType, .lang="Pattern", .env=namespace_env(env, "Pattern"))),
.code="(Pattern_t)"));
- return env;
+ env_t *lib_env = fresh_scope(env);
+ lib_env->libname = libname;
+ return lib_env;
}
CORD namespace_prefix(CORD *libname, namespace_t *ns)