From ca4320467cfeed5cf3d452f8f57304bcfa4a6fd3 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 28 Feb 2013 11:11:07 -0700 Subject: [PATCH] fix missing initialization of cached inspector reference The 3m transformation fills it in, but it's obviously better to be explicit and avoid the bug for CGC. --- src/racket/src/hash.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/racket/src/hash.c b/src/racket/src/hash.c index da88754e25..c6a8247b0a 100644 --- a/src/racket/src/hash.c +++ b/src/racket/src/hash.c @@ -948,6 +948,8 @@ static Scheme_Object *hash_recur(int argc, Scheme_Object **argv, Scheme_Object * hi->insp = NULL; /* in case recursive call is `parameterize'd */ v = to_signed_hash(equal_hash_key(argv[0], 0, hi)); + + hi->insp = NULL; return scheme_make_integer(v); } @@ -1770,6 +1772,7 @@ static uintptr_t equal_hash_key2(Scheme_Object *o, Hash_Info *hi) if (scheme_struct_is_transparent(o)) insp = NULL; else { + insp = hi->insp; if (!insp) { insp = scheme_get_param(scheme_current_config(), MZCONFIG_INSPECTOR); hi->insp = insp;