1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 03:40:34 +02:00

* gc.c (scm_init_storage): init `scm_gc_registered_roots'.

(scm_igc): mark from them, too (precisely, not conservatively!).

* root.h (scm_gc_registered_roots): new object in
scm_sys_protects.

* hooks.c (scm_create_hook): call `scm_gc_protect_object' instead
`scm_protect_object'.  shouldn't call it at all, though, it seems.

* gc.c (scm_[un]protect_object): deprecated.
(scm_gc_[un]protect_object): new names for scm_[un]protect_object.
(scm_gc_[un]register_root[s]): new.

* gc.h: add prototypes for scm_gc_[un]protect_object,
scm_gc_[un]register_root[s].
This commit is contained in:
Michael Livshin 2001-05-26 22:10:58 +00:00
parent c014a02eec
commit 6b1b030e4d
5 changed files with 125 additions and 11 deletions

View file

@ -199,7 +199,7 @@ scm_create_hook (const char *name, int n_args)
{
SCM hook = make_hook (SCM_MAKINUM (n_args), "scm_create_hook");
scm_c_define (name, hook);
scm_protect_object (hook);
scm_gc_protect_object (hook); /* cmm:FIXME:: qua? */
return hook;
}