deprecated features appear at the bottom.
(root_module_lookup_closure, scm_sym_app, scm_sym_modules,
module_prefix, make_modules_in_var, beautify_user_module_x_var,
scm_the_root_module, scm_make_module, scm_ensure_user_module,
scm_load_scheme_module): Deprecated.
(scm_system_module_env_p): Return SCM_BOOL_T directly for
environments corresponding to the root module.
(convert_module_name, scm_c_resolve_module,
scm_c_call_with_current_module, scm_c_define_module,
scm_c_use_module, scm_c_export): New.
(the_root_module): New static variant of scm_the_root_module. Use
it everywhere instead of scm_the_root_module.
(scm_post_boot_init_modules): Initialize from Scheme value.
(the_module, scm_current_module, scm_init_modules): the_module is
now a C only fluid.
(scm_current_module): Export to Scheme.
(scm_set_current_module): Do not call out to Scheme, do all the
work in C. Export procedure to Scheme. Only accept modules, `#f'
is no longer valid as the current module. Only set
scm_top_level_lookup_closure_var and scm_system_transformer when
they are not deprecated.
(scm_module_transformer, scm_current_module_transformer): New.
* modules.h (scm_module_index_transformer, SCM_MODULE_TRANSFORMER,
scm_current_module_transformer, scm_module_transformer): New.
compiled closures. Include "libguile/smob.h".
(f_eval_closure): Removed.
(scm_eval_closure_tag): New variable.
(scm_eval_closure_lookup): Renamed from eval_closure.
This function now takes a smob instead of a compiled closure.
(scm_standard_eval_closure): Create a smob instead of a compiled
closure.
(scm_init_modules): Initialize the eval closure type as a smob.
* modules.h (SCM_EVAL_CLOSURE_P): New macro.
(scm_eval_closure_tag, scm_eval_closure_lookup): Declare.
* symbols.c: Include "libguile/smob.h".
(scm_sym2vcell): Call scm_eval_closure_lookup directly if THUNK
is an eval closure.
Added #include "libguile/hashtab.h";
Added #include "libguile/struct.h";
Added #include "libguile/variable.h";
Capture Scheme level `module-make-local-var!' to be used in the
standard eval closure.
(scm_standard_eval_closure): New primitive.
and we don't want that.
(INCLUDES): Removed all -I options except for the root source
directory and the root build directory.
* *.*: Change includes so that they always use the "prefixes"
libguile/, qt/, guile-readline/, or libltdl/.
(Thanks to Tim Mooney.)
prototypes.
* eval.c: Make scm_m_mody's 3rd argument be a const char *, not a
char *. ANSI prototypes caught this.
* strorder.c: Use GUILE_PROC1 for the couple SCM_PROC1 expansions
that I missed.
* scm_validate.h: Use SCM_BOOLP for validating bools. Do not
expand macros if SCM_DOCSTRING_SNARF.
(scm_system_module_env_p): Assume root environment is no lookup
closure is found.
* modules.c, modules.h, eval.c, eval.h (scm_env_top_level,
scm_top_level_env, scm_system_module_env_p): Moved to modules.c.
is necessary in order to interface the object system to Guile
properly. The guts of these modules will be replaced by the new
module system in the future.)