[PLACES] variable-reference->module-source fix

This commit is contained in:
Kevin Tew 2011-03-24 21:31:33 -06:00
parent 4e81299e98
commit aa0f285efa
3 changed files with 9 additions and 9 deletions

View File

@ -4651,7 +4651,7 @@ static Scheme_Object *variable_module_source(int argc, Scheme_Object *argv[])
scheme_wrong_type("variable-reference->module-source", "variable-reference", 0, argc, argv); scheme_wrong_type("variable-reference->module-source", "variable-reference", 0, argc, argv);
if (env->module) if (env->module)
return SCHEME_PTR_VAL(env->module->modsrc); return scheme_resolved_module_path_value(env->module->modsrc);
else else
return scheme_false; return scheme_false;
} }

View File

@ -131,7 +131,6 @@ static void eval_exptime(Scheme_Object *names, int count,
static Scheme_Module_Exports *make_module_exports(); static Scheme_Module_Exports *make_module_exports();
static Scheme_Object *scheme_sys_wraps_phase_worker(intptr_t p); static Scheme_Object *scheme_sys_wraps_phase_worker(intptr_t p);
static Scheme_Object *resolved_module_path_value(Scheme_Object *rmp);
#define cons scheme_make_pair #define cons scheme_make_pair
@ -2826,7 +2825,7 @@ static Scheme_Object *module_compiled_name(int argc, Scheme_Object *argv[])
m = scheme_extract_compiled_module(argv[0]); m = scheme_extract_compiled_module(argv[0]);
if (m) { if (m) {
return resolved_module_path_value(m->modname); return scheme_resolved_module_path_value(m->modname);
} }
scheme_wrong_type("module-compiled-name", "compiled module declaration", 0, argc, argv); scheme_wrong_type("module-compiled-name", "compiled module declaration", 0, argc, argv);
@ -2953,7 +2952,7 @@ static Scheme_Object *make_resolved_module_path_obj(Scheme_Object *o)
return rmp; return rmp;
} }
static Scheme_Object *resolved_module_path_value(Scheme_Object *rmp) Scheme_Object *scheme_resolved_module_path_value(Scheme_Object *rmp)
{ {
Scheme_Object *rmp_val; Scheme_Object *rmp_val;
rmp_val = SCHEME_RMP_VAL(rmp); rmp_val = SCHEME_RMP_VAL(rmp);
@ -3040,7 +3039,7 @@ static Scheme_Object *resolved_module_path_name(int argc, Scheme_Object *argv[])
if (!SCHEME_MODNAMEP(argv[0])) if (!SCHEME_MODNAMEP(argv[0]))
scheme_wrong_type("resolved-module-path-name", "resolved-module-path", 0, argc, argv); scheme_wrong_type("resolved-module-path-name", "resolved-module-path", 0, argc, argv);
return resolved_module_path_value(argv[0]); return scheme_resolved_module_path_value(argv[0]);
} }
@ -6055,7 +6054,7 @@ static Scheme_Object *do_module(Scheme_Object *form, Scheme_Comp_Env *env,
SCHEME_EXPAND_OBSERVE_TAG(rec[drec].observer, fm); SCHEME_EXPAND_OBSERVE_TAG(rec[drec].observer, fm);
} }
fm = scheme_stx_property(fm, module_name_symbol, resolved_module_path_value(m->modname)); fm = scheme_stx_property(fm, module_name_symbol, scheme_resolved_module_path_value(m->modname));
/* phase shift to replace self_modidx of previous expansion (if any): */ /* phase shift to replace self_modidx of previous expansion (if any): */
fm = scheme_stx_phase_shift(fm, 0, empty_self_modidx, self_modidx, NULL); fm = scheme_stx_phase_shift(fm, 0, empty_self_modidx, self_modidx, NULL);
@ -6074,7 +6073,7 @@ static Scheme_Object *do_module(Scheme_Object *form, Scheme_Comp_Env *env,
mb = scheme_datum_to_syntax(module_begin_symbol, form, scheme_false, 0, 0); mb = scheme_datum_to_syntax(module_begin_symbol, form, scheme_false, 0, 0);
fm = scheme_make_pair(mb, scheme_make_pair(fm, scheme_null)); fm = scheme_make_pair(mb, scheme_make_pair(fm, scheme_null));
fm = scheme_datum_to_syntax(fm, form, form, 0, 2); fm = scheme_datum_to_syntax(fm, form, form, 0, 2);
fm = scheme_stx_property(fm, module_name_symbol, resolved_module_path_value(m->modname)); fm = scheme_stx_property(fm, module_name_symbol, scheme_resolved_module_path_value(m->modname));
/* Since fm is a newly-created syntax object, we need to re-add renamings: */ /* Since fm is a newly-created syntax object, we need to re-add renamings: */
fm = scheme_add_rename(fm, rn_set); fm = scheme_add_rename(fm, rn_set);
@ -10133,8 +10132,8 @@ static Scheme_Object *write_module(Scheme_Object *obj)
l = cons(scheme_false, l); l = cons(scheme_false, l);
l = cons(m->me->src_modidx, l); l = cons(m->me->src_modidx, l);
l = cons(resolved_module_path_value(m->modsrc), l); l = cons(scheme_resolved_module_path_value(m->modsrc), l);
l = cons(resolved_module_path_value(m->modname), l); l = cons(scheme_resolved_module_path_value(m->modname), l);
return l; return l;
} }

View File

@ -3129,6 +3129,7 @@ Scheme_Object *scheme_modidx_shift(Scheme_Object *modidx,
#define SCHEME_RMPP(o) (SAME_TYPE(SCHEME_TYPE((o)), scheme_resolved_module_path_type)) #define SCHEME_RMPP(o) (SAME_TYPE(SCHEME_TYPE((o)), scheme_resolved_module_path_type))
Scheme_Object *scheme_intern_resolved_module_path(Scheme_Object *o); 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); int scheme_resolved_module_path_value_matches(Scheme_Object *rmp, Scheme_Object *o);
Scheme_Object *scheme_hash_module_variable(Scheme_Env *env, Scheme_Object *modidx, Scheme_Object *scheme_hash_module_variable(Scheme_Env *env, Scheme_Object *modidx,