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

13 commits

Author SHA1 Message Date
Marius Vollmer
55000e5f40 * modules.c (scm_module_type): New.
(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.
2001-04-24 23:40:18 +00:00
Marius Vollmer
9e57344b1d * modules.h. modules.c (scm_current_module_lookup_closure): New
function.
2001-02-11 18:14:34 +00:00
Marius Vollmer
aa767bc58f * modules.h (scm_selected_module, scm_current_module): Renamed
scm_selected_module to scm_current_module to synchronize Scheme
and C names.
(scm_select_module, scm_set_current_module): Likewise.  Changed
all uses.
2001-02-08 18:49:52 +00:00
Keisuke Nishida
e841c3e0c0 Smob-related creanup. 2000-12-08 17:32:56 +00:00
Keisuke Nishida
fb43bf74e2 * modules.c: Use applicable smobs for eval closures instead of
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.
2000-09-10 22:22:36 +00:00
Mikael Djurfeldt
b486ccc869 * modules.h (SCM_MODULEP, SCM_VALIDATE_MODULE,
SCM_MODULE_OBARRAY, SCM_MODULE_USES, SCM_MODULE_BINDER,
SCM_MODULE_EVAL_CLOSURE): New macros.
(scm_module_index_obarray, scm_module_index_uses,
scm_module_index_binder, scm_module_index_eval_closure): New
constants; #include "validate.h".
2000-08-11 08:44:16 +00:00
Mikael Djurfeldt
a75c639c6c * modules.h (scm_standard_eval_closure): Declare. 2000-06-04 01:30:14 +00:00
Michael Livshin
89e00824a0 * *.[hc]: add Emacs magic at the end of file, to ensure GNU
indentation style.
2000-03-19 19:01:16 +00:00
Greg J. Badros
7866a09b5b * list.c: Moved append docs to append! Thanks Dirk Hermann. Also,
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!
2000-03-02 20:54:43 +00:00
Mikael Djurfeldt
4cbdf5ccfc * debug.c, eval.c, evalext.c, stacks.c: #include "modules.h".
* 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.
1999-03-19 02:28:23 +00:00
Mikael Djurfeldt
90184345a0 * modules.c, modules.h (scm_resolve_module): New function. 1998-11-26 17:59:15 +00:00
Mikael Djurfeldt
281004cc98 * modules.c (scm_make_module): Beautify the module. 1998-11-23 02:35:11 +00:00
Mikael Djurfeldt
1ffa265b7c * modules.c, modules.h: New files: C interface to modules. (This
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.)
1998-11-22 12:05:14 +00:00