diff options
author | Jim Blandy <jimb@red-bean.com> | 1998-10-03 17:40:28 +0000 |
---|---|---|
committer | Jim Blandy <jimb@red-bean.com> | 1998-10-03 17:40:28 +0000 |
commit | bdca1083234ae4dfaf73629ffc9bc38fd251e95f (patch) | |
tree | d5e101d7e83129d19a294fbbedbef6e96e0ddef5 /libguile/init.c | |
parent | 6b8d19d30233a2b4276f3ca896e481f0869f60a5 (diff) | |
download | guile-bdca1083234ae4dfaf73629ffc9bc38fd251e95f.tar.gz |
* init.c: Doc fixes.
Diffstat (limited to 'libguile/init.c')
-rw-r--r-- | libguile/init.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/libguile/init.c b/libguile/init.c index 02b438a87..3614ee7ee 100644 --- a/libguile/init.c +++ b/libguile/init.c @@ -39,6 +39,8 @@ * whether to permit this exception to apply to your modifications. * If you do not wish that, delete this exception notice. */ +/* Include the headers for just about everything. + We call all their initialization functions. */ #include <stdio.h> #include "_scm.h" @@ -126,6 +128,7 @@ #include <unistd.h> #endif +/* Setting up the stack. */ static void start_stack SCM_P ((void *base)); static void restart_stack SCM_P ((void * base)); @@ -275,6 +278,34 @@ scm_init_standard_ports () +/* Loading the startup Scheme files. */ + +/* The boot code "ice-9/boot-9" is only loaded by scm_boot_guile when + this is false. The unexec code uses this, to keep ice_9 from being + loaded into dumped guile executables. */ +int scm_ice_9_already_loaded = 0; + +void +scm_load_startup_files () +{ + /* We want a path only containing directories from GUILE_LOAD_PATH, + SCM_SITE_DIR and SCM_LIBRARY_DIR when searching for the site init + file, so we do this before loading Ice-9. */ + SCM init_path = scm_sys_search_load_path (scm_makfrom0str ("init.scm")); + + /* Load Ice-9. */ + if (!scm_ice_9_already_loaded) + scm_primitive_load_path (scm_makfrom0str ("ice-9/boot-9.scm")); + + /* Load the init.scm file. */ + if (SCM_NFALSEP (init_path)) + scm_primitive_load (init_path); +} + + + +/* The main init code. */ + #ifdef _UNICOS typedef int setjmp_type; #else @@ -502,6 +533,8 @@ invoke_main_func (body_data) { struct main_func_closure *closure = (struct main_func_closure *) body_data; + scm_load_startup_files (); + (*closure->main_func) (closure->closure, closure->argc, closure->argv); /* never reached */ |