1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-23 03:54:12 +02:00

*** empty log message ***

This commit is contained in:
Han-Wen Nienhuys 2005-06-19 13:27:50 +00:00
parent bde70eddce
commit 05d44505b8
9 changed files with 42 additions and 8 deletions

View file

@ -1,4 +1,11 @@
2005-06-19 Han-Wen Nienhuys <hanwen@xs4all.nl>
2005-06-10 Han-Wen Nienhuys <hanwen@xs4all.nl>
* modules.c (s_scm_eval_closure_module): new function. Return the
module inside an eval-closure.
* gc.c (scm_init_storage): make scm_stand_in_procs a weak_key hash
table. This means that procedure properties are GC'd if the
procedure dies.
* guile.c (main): use pointer iso. array. This fixes compile error
on GCC 4.

View file

@ -2827,7 +2827,7 @@ scm_init_storage ()
#endif
#endif
scm_stand_in_procs = scm_c_make_hash_table (257);
scm_stand_in_procs = scm_make_weak_key_hash_table (SCM_MAKINUM (257));
scm_permobjs = SCM_EOL;
scm_protects = scm_c_make_hash_table (31);
scm_gc_registered_roots = scm_c_make_hash_table (31);

View file

@ -340,6 +340,19 @@ SCM_DEFINE (scm_standard_eval_closure, "standard-eval-closure", 1, 0, 0,
}
#undef FUNC_NAME
SCM_DEFINE (scm_eval_closure_module, "eval-closure-module", 1, 0, 0,
(SCM closure),
"Return the module for @var{closure}.")
#define FUNC_NAME s_scm_eval_closure_module
{
SCM_ASSERT_TYPE(SCM_EVAL_CLOSURE_P (closure), closure, SCM_ARG1, FUNC_NAME, "eval-closure");
return SCM_PACK (SCM_CELL_WORD_1(closure));
}
#undef FUNC_NAME
SCM_DEFINE (scm_standard_interface_eval_closure,
"standard-interface-eval-closure", 1, 0, 0,
(SCM module),

View file

@ -118,6 +118,7 @@ extern SCM scm_current_module_lookup_closure (void);
extern SCM scm_current_module_transformer (void);
extern SCM scm_eval_closure_lookup (SCM eclo, SCM sym, SCM definep);
extern SCM scm_standard_eval_closure (SCM module);
extern SCM scm_eval_closure_module (SCM closure);
extern SCM scm_standard_interface_eval_closure (SCM module);
extern SCM scm_get_pre_modules_obarray (void);
extern SCM scm_lookup_closure_module (SCM proc);