set self modidx on primitive modules

which fixes a crash related to `module->namespace'
This commit is contained in:
Matthew Flatt 2011-08-01 15:16:04 -06:00
parent 7977d1817e
commit 9a5bae277a

View File

@ -4747,7 +4747,7 @@ Scheme_Env *scheme_primitive_module(Scheme_Object *name, Scheme_Env *for_env)
{
Scheme_Module *m;
Scheme_Env *env;
Scheme_Object *prefix, *insp, *src;
Scheme_Object *prefix, *insp, *src, *midx;
Scheme_Config *config;
m = MALLOC_ONE_TAGGED(Scheme_Module);
@ -4755,7 +4755,6 @@ Scheme_Env *scheme_primitive_module(Scheme_Object *name, Scheme_Env *for_env)
env = scheme_new_module_env(for_env, m, 0);
if (!scheme_defining_primitives) {
config = scheme_current_config();
prefix = scheme_get_param(config, MZCONFIG_CURRENT_MODULE_NAME);
@ -4786,6 +4785,9 @@ Scheme_Env *scheme_primitive_module(Scheme_Object *name, Scheme_Env *for_env)
m->dt_requires = scheme_null;
m->primitive = env;
m->insp = insp;
midx = scheme_make_modidx(scheme_false, scheme_false, name);
m->self_modidx = midx;
{
Scheme_Module_Exports *me;