diff --git a/src/foreign/foreign.c b/src/foreign/foreign.c index 93d3a7dc49..52cab9f480 100644 --- a/src/foreign/foreign.c +++ b/src/foreign/foreign.c @@ -2702,7 +2702,6 @@ void scheme_init_foreign_globals() GC_register_traversers(ffi_callback_tag, ffi_callback_SIZE, ffi_callback_MARK, ffi_callback_FIXUP, 1, 0); # endif /* MZ_PRECISE_GC */ scheme_set_type_printer(ctype_tag, ctype_printer); - MZ_REGISTER_STATIC(opened_libs); opened_libs = scheme_make_hash_table(SCHEME_hash_string); MZ_REGISTER_STATIC(default_sym); diff --git a/src/foreign/foreign.ssc b/src/foreign/foreign.ssc index da4967aaee..108a83ab66 100755 --- a/src/foreign/foreign.ssc +++ b/src/foreign/foreign.ssc @@ -2083,12 +2083,8 @@ void ctype_printer(Scheme_Object *ctype, int dis, Scheme_Print_Params *pp) /*****************************************************************************/ /* Initialization */ -void scheme_init_foreign(Scheme_Env *env) +void scheme_init_foreign_globals() { - Scheme_Env *menv; - ctype_struct *t; - Scheme_Object *s; - menv = scheme_primitive_module(scheme_intern_symbol("#%foreign"), env); @(maplines (lambda (x) @list{@(cadr x)_tag = scheme_make_type("<@(car x)>")}) (reverse (cstructs))) @@ -2105,6 +2101,14 @@ void scheme_init_foreign(Scheme_Env *env) @list{MZ_REGISTER_STATIC(@(cadr sym)); @(cadr sym) = scheme_intern_symbol("@(car sym)")}) (reverse (symbols))) +} + +void scheme_init_foreign(Scheme_Env *env) +{ + Scheme_Env *menv; + ctype_struct *t; + Scheme_Object *s; + menv = scheme_primitive_module(scheme_intern_symbol("#%foreign"), env); @(maplines (lambda (x) (define-values (sname cfun min max) (apply values x))