* libguile/modules.h:
* libguile/modules.c:
* ice-9/boot-9.scm (module-public-interface): Move definition of
module-public-interface to C, where it is now available as
scm_module_public_interface ().
* *.c: add space after commas everywhere.
* *.c: use SCM_VECTOR_SET everywhere, where a vector is written.
Document cases where SCM_WRITABLE_VELTS() is used.
* vectors.h (SCM_VELTS): prepare for write barrier, and let
SCM_VELTS() return a const pointer
(SCM_VECTOR_SET): add macro.
* autogen.sh (mscripts): find and check version number of
autoconf. Complain if 2.53 is not found.
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 append docs from R4RS.
* strings.c: Docstring typo fix, + eliminate unneeded IMP tests.
Thanks Dirk Hermann!
* chars.h: Provide SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR and
deprecate SCM_ICHRP, SCM_ICHR, SCM_MAKICHR. Thanks Dirk Hermann!
* *.h, *.c: Use SCM_CHARP, SCM_CHAR, SCM_MAKE_CHAR throughout.
Drop use of SCM_P for function prototypes... assume an ANSI C
compiler. Thanks Dirk Hermann!
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.)