1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00

%init-goops-builtins is an extension, not a global

* libguile/goops.h:
* libguile/goops.c (scm_init_goops, scm_init_goops_builtins): Move
  %init-goops-builtins to be an extension instead of a globally
  accessible function.

* module/oop/goops.scm: Adapt.
This commit is contained in:
Andy Wingo 2014-12-24 11:07:47 -05:00
parent 9167e0b88d
commit 6ab1939653
3 changed files with 7 additions and 8 deletions

View file

@ -2439,8 +2439,8 @@ SCM_DEFINE (scm_sys_goops_loaded, "%goops-loaded", 0, 0, 0,
SCM scm_module_goops; SCM scm_module_goops;
SCM static void
scm_init_goops_builtins (void) scm_init_goops_builtins (void *unused)
{ {
scm_module_goops = scm_current_module (); scm_module_goops = scm_current_module ();
@ -2466,15 +2466,14 @@ scm_init_goops_builtins (void)
scm_make (scm_list_3 (scm_class_generic, k_name, name)); scm_make (scm_list_3 (scm_class_generic, k_name, name));
scm_module_define (scm_module_goops, name, scm_no_applicable_method); scm_module_define (scm_module_goops, name, scm_no_applicable_method);
} }
return SCM_UNSPECIFIED;
} }
void void
scm_init_goops () scm_init_goops ()
{ {
scm_c_define_gsubr ("%init-goops-builtins", 0, 0, 0, scm_c_register_extension ("libguile-" SCM_EFFECTIVE_VERSION,
scm_init_goops_builtins); "scm_init_goops_builtins", scm_init_goops_builtins,
NULL);
} }
/* /*

View file

@ -304,7 +304,6 @@ SCM_API SCM scm_wta_dispatch_n (SCM gf, SCM args, int pos, const char *subr);
SCM_INTERNAL SCM scm_i_define_class_for_vtable (SCM vtable); SCM_INTERNAL SCM scm_i_define_class_for_vtable (SCM vtable);
SCM_INTERNAL SCM scm_init_goops_builtins (void);
SCM_INTERNAL void scm_init_goops (void); SCM_INTERNAL void scm_init_goops (void);
#endif /* SCM_GOOPS_H */ #endif /* SCM_GOOPS_H */

View file

@ -200,7 +200,8 @@
;; First initialize the builtin part of GOOPS ;; First initialize the builtin part of GOOPS
(eval-when (compile load eval) (eval-when (compile load eval)
(%init-goops-builtins)) (load-extension (string-append "libguile-" (effective-version))
"scm_init_goops_builtins"))
(eval-when (compile load eval) (eval-when (compile load eval)
(use-modules ((language tree-il primitives) :select (add-interesting-primitive!))) (use-modules ((language tree-il primitives) :select (add-interesting-primitive!)))