diff --git a/ChangeLog b/ChangeLog index 45965ed728..20071992cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 10 09:29:12 2006 Nobuyoshi Nakada + + * eval.c (rb_clear_cache_for_undef): clear entries for included + module. fixed: [ruby-core:08180] + Sun Jul 9 18:06:47 2006 Nobuyoshi Nakada * lib/mkmf.rb (try_constant): fix for value 1 at cross compiling. diff --git a/eval.c b/eval.c index f099654d1c..9a909557e8 100644 --- a/eval.c +++ b/eval.c @@ -366,7 +366,8 @@ rb_clear_cache_for_undef(klass, id) if (!ruby_running) return; ent = cache; end = ent + CACHE_SIZE; while (ent < end) { - if (ent->origin == klass && ent->mid == id) { + if (ent->mid == id && + RCLASS(ent->origin)->m_tbl == RCLASS(klass)->m_tbl) { ent->mid = 0; } ent++;