From abd28220e73130a282718b44c4c3190bfb24ae37 Mon Sep 17 00:00:00 2001 From: Marius Vollmer Date: Sat, 19 May 2001 00:33:25 +0000 Subject: [PATCH] (scm_init_goops_builtins): Renamed from `scm_init_goops'. Do not explicitly create/switch modules. Return SCM_UNSPECIFIED. (scm_init_goops): Only register `%init-goops-builtins' procedure. (scm_load_goops): Use scm_c_resolve_module instead of scm_resolve_module. --- libguile/goops.c | 19 ++++++++----------- libguile/goops.h | 3 ++- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/libguile/goops.c b/libguile/goops.c index f108d1407..ea07bc3ba 100644 --- a/libguile/goops.c +++ b/libguile/goops.c @@ -2437,7 +2437,7 @@ void scm_load_goops () { if (!goops_loaded_p) - scm_resolve_module (scm_read_0str ("(oop goops)")); + scm_c_resolve_module ("oop goops"); } @@ -2645,13 +2645,10 @@ SCM_DEFINE (scm_sys_goops_loaded, "%goops-loaded", 0, 0, 0, SCM scm_module_goops; -void -scm_init_goops (void) +SCM +scm_init_goops_builtins (void) { - SCM old_module; - scm_module_goops = scm_make_module (scm_read_0str ("(oop goops)")); - old_module = scm_set_current_module (scm_module_goops); - + scm_module_goops = scm_current_module (); scm_goops_lookup_closure = scm_module_lookup_closure (scm_module_goops); /* Not really necessary right now, but who knows... @@ -2689,14 +2686,14 @@ scm_init_goops (void) name))); DEFVAR (name, scm_no_applicable_method); } - - scm_set_current_module (old_module); + + return SCM_UNSPECIFIED; } void -scm_init_oop_goops_goopscore_module () +scm_init_goops () { - scm_register_module_xxx ("oop goops goopscore", (void *) scm_init_goops); + scm_make_gsubr ("%init-goops-builtins", 0, 0, 0, scm_init_goops_builtins); } /* diff --git a/libguile/goops.h b/libguile/goops.h index 624ca3075..9867096af 100644 --- a/libguile/goops.h +++ b/libguile/goops.h @@ -237,7 +237,6 @@ SCM scm_m_atdispatch (SCM xorig, SCM env); #ifdef GUILE_DEBUG SCM scm_pure_generic_p (SCM obj); #endif -extern void scm_init_oop_goops_goopscore_module (void); SCM scm_sys_compute_slots (SCM c); SCM scm_i_get_keyword (SCM key, SCM l, int len, SCM default_value, const char *subr); @@ -281,6 +280,8 @@ SCM stklos_version (void); SCM scm_make (SCM args); SCM scm_find_method (SCM args); SCM scm_sys_method_more_specific_p (SCM m1, SCM m2, SCM targs); + +SCM scm_init_goops_builtins (void); void scm_init_goops (void); #endif /* GOOPSH */