fix environment -> resolved path -> module path index

This commit is contained in:
Matthew Flatt 2017-10-16 15:11:37 -06:00
parent b940ee8440
commit dd585e7ff7
3 changed files with 5 additions and 7 deletions

View File

@ -2214,11 +2214,7 @@ static Scheme_Object *variable_modidx(int argc, Scheme_Object *argv[])
&& SCHEME_TRUEP(((Scheme_Modidx *)env->module->self_modidx)->path))
return env->module->self_modidx;
else
return scheme_make_modidx(scheme_make_pair(scheme_intern_symbol("quote"),
scheme_make_pair(scheme_resolved_module_path_value(env->module->modname),
scheme_null)),
scheme_false,
scheme_false);
return scheme_resolved_module_path_to_modidx(env->module->modname);
} else
return env->link_midx;
} else

View File

@ -4156,7 +4156,7 @@ static int same_resolved_modidx(Scheme_Object *a, Scheme_Object *b)
return scheme_equal(a, b);
}
static Scheme_Object *resolved_module_path_to_modidx(Scheme_Object *rmp)
Scheme_Object *scheme_resolved_module_path_to_modidx(Scheme_Object *rmp)
{
Scheme_Object *path;
@ -12828,7 +12828,7 @@ void parse_requires(Scheme_Object *form, int at_phase,
}
if (SAME_TYPE(SCHEME_TYPE(idx), scheme_resolved_module_path_type))
idx = resolved_module_path_to_modidx(idx);
idx = scheme_resolved_module_path_to_modidx(idx);
add_single_require(m->me, x_just_mode, x_mode, idx, rename_env,
rn_set, (for_m ? for_m->rn_stx : NULL),

View File

@ -4000,6 +4000,8 @@ Scheme_Object *scheme_intern_resolved_module_path(Scheme_Object *o);
Scheme_Object *scheme_resolved_module_path_value(Scheme_Object *rmp);
int scheme_resolved_module_path_value_matches(Scheme_Object *rmp, Scheme_Object *o);
Scheme_Object *scheme_resolved_module_path_to_modidx(Scheme_Object *rmp);
Scheme_Object *scheme_hash_module_variable(Scheme_Env *env, Scheme_Object *modidx,
Scheme_Object *stxsym, Scheme_Object *insp,
int pos, intptr_t mod_phase, int is_constant,