1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 12:20:26 +02:00

* modules.c (scm_make_module): Beautify the module.

This commit is contained in:
Mikael Djurfeldt 1998-11-23 02:35:11 +00:00
parent 1330700c7d
commit 281004cc98
2 changed files with 30 additions and 1 deletions

View file

@ -46,6 +46,14 @@
#include "modules.h" #include "modules.h"
static SCM the_root_module;
SCM
scm_the_root_module ()
{
return SCM_CDR (the_root_module);
}
static SCM the_module; static SCM the_module;
SCM SCM
@ -78,16 +86,24 @@ scm_module_full_name (SCM name)
} }
static SCM make_modules_in; static SCM make_modules_in;
static SCM beautify_user_module_x;
SCM SCM
scm_make_module (SCM name) scm_make_module (SCM name)
{ {
return scm_apply (SCM_CDR (make_modules_in), return scm_apply (SCM_CDR (make_modules_in),
SCM_LIST2 (scm_selected_module (), SCM_LIST2 (scm_the_root_module (),
scm_module_full_name (name)), scm_module_full_name (name)),
SCM_EOL); SCM_EOL);
} }
SCM
scm_ensure_user_module (SCM module)
{
scm_apply (SCM_CDR (beautify_user_module_x), SCM_LIST1 (module), SCM_EOL);
return SCM_UNSPECIFIED;
}
static SCM module_eval_closure; static SCM module_eval_closure;
SCM SCM
@ -98,6 +114,14 @@ scm_module_lookup_closure (SCM module)
SCM_EOL); SCM_EOL);
} }
static SCM try_module_autoload;
SCM
scm_load_scheme_module (SCM name)
{
return scm_apply (SCM_CDR (try_module_autoload), SCM_LIST1 (name), SCM_EOL);
}
void void
scm_init_modules () scm_init_modules ()
{ {
@ -107,10 +131,13 @@ scm_init_modules ()
void void
scm_post_boot_init_modules () scm_post_boot_init_modules ()
{ {
the_root_module = scm_intern0 ("the-root-module");
the_module = scm_intern0 ("the-module"); the_module = scm_intern0 ("the-module");
set_current_module = scm_intern0 ("set-current-module"); set_current_module = scm_intern0 ("set-current-module");
module_prefix = scm_permanent_object (SCM_LIST2 (scm_sym_app, module_prefix = scm_permanent_object (SCM_LIST2 (scm_sym_app,
scm_sym_modules)); scm_sym_modules));
make_modules_in = scm_intern0 ("make-modules-in"); make_modules_in = scm_intern0 ("make-modules-in");
beautify_user_module_x = scm_intern0 ("beautify-user-module!");
module_eval_closure = scm_intern0 ("module-eval-closure"); module_eval_closure = scm_intern0 ("module-eval-closure");
try_module_autoload = scm_intern0 ("try-module-autoload");
} }

View file

@ -51,7 +51,9 @@
extern SCM scm_selected_module (void); extern SCM scm_selected_module (void);
extern SCM scm_select_module (SCM module); extern SCM scm_select_module (SCM module);
extern SCM scm_make_module (SCM name); extern SCM scm_make_module (SCM name);
extern SCM scm_ensure_user_module (SCM name);
extern SCM scm_module_lookup_closure (SCM module); extern SCM scm_module_lookup_closure (SCM module);
extern SCM scm_load_scheme_module (SCM name);
extern void scm_init_modules (void); extern void scm_init_modules (void);
extern void scm_post_boot_init_modules (void); extern void scm_post_boot_init_modules (void);