From d634beb1eb19f13a347d3927dab5b196fb31d58a Mon Sep 17 00:00:00 2001 From: Kevin Tew Date: Fri, 29 Jan 2010 14:21:25 +0000 Subject: [PATCH] Fix double initialization of paramz key svn: r17883 --- src/mzscheme/src/env.c | 5 ++++- src/mzscheme/src/schpriv.h | 3 ++- src/mzscheme/src/thread.c | 11 +++++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/mzscheme/src/env.c b/src/mzscheme/src/env.c index 1a7f5de1fe..60e7d2c208 100644 --- a/src/mzscheme/src/env.c +++ b/src/mzscheme/src/env.c @@ -508,13 +508,15 @@ static Scheme_Env *place_instance_init(void *stack_base, int initial_main_os_thr #endif scheme_init_error_config(); +/* BEGIN PRIMITIVE MODULES */ scheme_init_memtrace(env); #ifndef NO_TCP_SUPPORT scheme_init_network(env); #endif - scheme_init_parameterization(env); + scheme_init_paramz(env); scheme_init_expand_observe(env); scheme_init_place(env); +/* END PRIMITIVE MODULES */ #if defined(MZ_USE_PLACES) scheme_jit_fill_threadlocal_table(); #endif @@ -631,6 +633,7 @@ static void make_kernel_env(void) #ifndef NO_REGEXP_UTILS MZTIMEIT(regexp, scheme_regexp_initialize(env)); #endif + scheme_init_parameterization(); MARK_START_TIME(); diff --git a/src/mzscheme/src/schpriv.h b/src/mzscheme/src/schpriv.h index 6f1e2ab5a5..3bfa135d30 100644 --- a/src/mzscheme/src/schpriv.h +++ b/src/mzscheme/src/schpriv.h @@ -238,7 +238,8 @@ void scheme_init_salloc(void); void scheme_init_jit(void); #endif void scheme_init_memtrace(Scheme_Env *env); -void scheme_init_parameterization(Scheme_Env *env); +void scheme_init_paramz(Scheme_Env *env); +void scheme_init_parameterization(); void scheme_init_getenv(void); void scheme_init_inspector(void); diff --git a/src/mzscheme/src/thread.c b/src/mzscheme/src/thread.c index f02f499e7b..69ff301437 100644 --- a/src/mzscheme/src/thread.c +++ b/src/mzscheme/src/thread.c @@ -850,17 +850,20 @@ Scheme_Object *scheme_get_current_inspector() return scheme_get_param(c, MZCONFIG_INSPECTOR); } -void scheme_init_parameterization(Scheme_Env *env) +void scheme_init_parameterization() { - Scheme_Object *v; - Scheme_Env *newenv; - REGISTER_SO(scheme_exn_handler_key); REGISTER_SO(scheme_parameterization_key); REGISTER_SO(scheme_break_enabled_key); scheme_exn_handler_key = scheme_make_symbol("exnh"); scheme_parameterization_key = scheme_make_symbol("paramz"); scheme_break_enabled_key = scheme_make_symbol("break-on?"); +} + +void scheme_init_paramz(Scheme_Env *env) +{ + Scheme_Object *v; + Scheme_Env *newenv; v = scheme_intern_symbol("#%paramz"); newenv = scheme_primitive_module(v, env);