Fix a bug in weak hash table bucket fixup.
authorLudovic Courtès <ludo@gnu.org>
Mon, 11 Oct 2010 13:14:55 +0000 (15:14 +0200)
committerLudovic Courtès <ludo@gnu.org>
Mon, 11 Oct 2010 13:14:55 +0000 (15:14 +0200)
commitdff58577d80f6c65b15534cef749f5ff8ccd28ed
treef1b80a1b33be36400684f077af6134498a71ed1f
parent08002eae4d8a9c0d36c2c4b53d4ec37c2d24a951
Fix a bug in weak hash table bucket fixup.

* libguile/hashtab.c (scm_fixup_weak_alist): Keep the value of PREV
  unchanged after a nullified pair is deleted; this fixes a bug whereby
  if several successive nullified pairs were encountered, not all of them
  would be removed, and the assertion in `weak_bucket_assoc' would be
  hit.  In addition, remove the `scm_is_pair (pair)' test.
libguile/hashtab.c