From: Chris Hanson Date: Mon, 1 Feb 2010 07:12:02 +0000 (-0800) Subject: Fix bug: weak-method:clean! removing entries whose key is #f. X-Git-Tag: 20100708-Gtk~126^2~34 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=038c39b1ad834660a91ed7661a072f02ea23b08c;p=mit-scheme.git Fix bug: weak-method:clean! removing entries whose key is #f. --- diff --git a/src/runtime/hashtb.scm b/src/runtime/hashtb.scm index e5fe7f896..6390433a9 100644 --- a/src/runtime/hashtb.scm +++ b/src/runtime/hashtb.scm @@ -317,7 +317,7 @@ USA. ((scan-head (lambda (p) (if (pair? p) - (if (%weak-entry-key (car p)) + (if (%weak-entry-valid? (car p)) (begin (vector-set! buckets i p) (scan-tail (cdr p) p)) @@ -328,13 +328,13 @@ USA. (scan-tail (lambda (p q) (if (pair? p) - (if (%weak-entry-key (car p)) + (if (%weak-entry-valid? (car p)) (scan-tail (cdr p) p) (begin (decrement-table-count! table) (let loop ((p (cdr p))) (if (pair? p) - (if (%weak-entry-key (car p)) + (if (%weak-entry-valid? (car p)) (begin (set-cdr! q p) (scan-tail (cdr p) p))