Hi, Ryan Davis wrote: > The following attachment, when run, shows the following behavior: > >> % ruby -v ./add_event_hook_weirdness.rb >> ruby 1.8.3 (2005-06-17) [powerpc-darwin8.1.0] >> ./add_event_hook_weirdness.rb:620:in `hash': undefined method `hash' >> for #<MyMod:0x32c0c4> (NoMethodError) >> from ./add_event_hook_weirdness.rb:620:in `y' >> from ./add_event_hook_weirdness.rb:626 >> from ./add_event_hook_weirdness.rb:625:in `times' >> from ./add_event_hook_weirdness.rb:625 Please apply this patch. --- add_event_hook_weirdness.rb.orig 2005-06-17 19:10:25.055358488 +0900 +++ add_event_hook_weirdness.rb 2005-06-17 19:10:43.776512440 +0900 @@ -579,6 +579,14 @@ { VALUE signature; + if (klass) { + if (TYPE(klass) == T_ICLASS) { + klass = RBASIC(klass)->klass; + } + else if (FL_TEST(klass, FL_SINGLETON)) { + klass = self; + } + } signature = rb_ary_new2(2); rb_ary_store(signature, 0, klass); rb_ary_store(signature, 1, ID2SYM(mid)); Maybe, EXEC_EVENT_HOOK() should do this. Shugo