allow intra-module var reference to link in a non-module namespace
Closes PR 11155
This commit is contained in:
parent
bbde0dfbd2
commit
7ec8835bc4
|
@ -1954,9 +1954,15 @@ static Scheme_Object *link_toplevel(Scheme_Object **exprs, int which, Scheme_Env
|
||||||
Scheme_Object *modname, *varname;
|
Scheme_Object *modname, *varname;
|
||||||
int mod_phase = 0;
|
int mod_phase = 0;
|
||||||
if (SCHEME_SYMBOLP(expr)) {
|
if (SCHEME_SYMBOLP(expr)) {
|
||||||
varname = expr;
|
if (!env->module) {
|
||||||
modname = env->module->modname;
|
/* compiled as a module variable, but instantiated in a non-module
|
||||||
mod_phase = env->mod_phase;
|
namespace; grab a bucket */
|
||||||
|
return (Scheme_Object *)scheme_global_bucket(expr, env);
|
||||||
|
} else {
|
||||||
|
varname = expr;
|
||||||
|
modname = env->module->modname;
|
||||||
|
mod_phase = env->mod_phase;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
varname = SCHEME_CAR(expr);
|
varname = SCHEME_CAR(expr);
|
||||||
modname = SCHEME_CDR(expr);
|
modname = SCHEME_CDR(expr);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user