* gc.c (scm_init_storage): init `scm_gc_registered_roots'.
authorMichael Livshin <mlivshin@bigfoot.com>
Sat, 26 May 2001 22:10:58 +0000 (22:10 +0000)
committerMichael Livshin <mlivshin@bigfoot.com>
Sat, 26 May 2001 22:10:58 +0000 (22:10 +0000)
commit6b1b030e4de34568273e87176d3eb93eddf81c7f
tree8c5fd246c52cdc0f7f1af03975f6db1aac34f780
parentc014a02eec7b99c54d8a156ce491ae8d1e341f97
* 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].
libguile/ChangeLog
libguile/gc.c
libguile/gc.h
libguile/hooks.c
libguile/root.h