From d9dfcf8084c4173f648268cc623d44d2cd18592f Mon Sep 17 00:00:00 2001 From: Marius Vollmer Date: Fri, 18 Jul 1997 14:35:58 +0000 Subject: [PATCH] * 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. --- libguile/root.c | 3 +++ 1 file changed, 3 insertions(+) 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