diff --git a/THANKS b/THANKS index 93664484f..43a55b874 100644 --- a/THANKS +++ b/THANKS @@ -9,6 +9,7 @@ Bug reports and fixes from: Greg Badros Aleksandar Bakic Per Bothner + Ben Caradoc-Davies Marcus Daniels Fred Fish Jesse N. Glick diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 4dfb9932b..f3ef66def 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,5 +1,8 @@ 1998-04-12 Mikael Djurfeldt + * gc.c (scm_gc_sweep): Count cells correctly. (Thanks to Ben + Caradoc-Davies.) + * eval.c (SCM_CEVAL, SCM_APPLY): In SCM_IM_APPLY and in the procedure apply: Copy argument lists before pushing them unto the environment so that the environment won't get mutated due to diff --git a/libguile/gc.c b/libguile/gc.c index 14a1190bf..8a65fb0b5 100644 --- a/libguile/gc.c +++ b/libguile/gc.c @@ -1289,6 +1289,7 @@ scm_gc_sweep () if (n == seg_size) { scm_heap_size -= seg_size; + n = 0; free ((char *) scm_heap_table[i].bounds[0]); scm_heap_table[i].bounds[0] = 0; for (j = i + 1; j < scm_n_heap_segs; j++)