diff options
author | Marius Vollmer <mvo@zagadka.de> | 1997-07-18 14:35:58 +0000 |
---|---|---|
committer | Marius Vollmer <mvo@zagadka.de> | 1997-07-18 14:35:58 +0000 |
commit | d9dfcf8084c4173f648268cc623d44d2cd18592f (patch) | |
tree | 217676957d8affd0751632c58b982d6ff5ac4bc7 /libguile/root.c | |
parent | ee3ea81d9addcd57531fc20f109f7c8785c05d1b (diff) | |
download | guile-d9dfcf8084c4173f648268cc623d44d2cd18592f.tar.gz |
* root.c: Include "fluids.h". (scm_mark_root): Mark "fluids".
(scm_make_root): Call scm_copy_fluids to make fluid bindings
unique for the new root when it has a parent.
Diffstat (limited to 'libguile/root.c')
-rw-r--r-- | libguile/root.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libguile/root.c b/libguile/root.c index 910ee3178..941c3bda3 100644 --- a/libguile/root.c +++ b/libguile/root.c @@ -49,6 +49,7 @@ #include "smob.h" #include "pairs.h" #include "throw.h" +#include "fluids.h" #include "root.h" @@ -83,6 +84,7 @@ mark_root (root) scm_gc_mark (s->def_inp); scm_gc_mark (s->def_outp); scm_gc_mark (s->def_errp); + scm_gc_mark (s->fluids); scm_gc_mark (s->top_level_lookup_closure_var); scm_gc_mark (s->system_transformer); scm_gc_mark (s->the_last_stack_var); @@ -135,6 +137,7 @@ scm_make_root (parent) if (SCM_NIMP (parent) && SCM_ROOTP (parent)) { memcpy (root_state, SCM_ROOT_STATE (parent), sizeof (scm_root_state)); + scm_copy_fluids (root_state); root_state->parent = parent; } else |