From: nobu.nakada@... Date: 2003-02-06T21:15:18+09:00 Subject: [ruby-dev:19511] Re: define_method+super causes replacing self なかだです。 At Thu, 6 Feb 2003 18:48:51 +0900, Minero Aoki wrote: > CVS HEAD で、次のように define_method と super を組み合わせると > スーパークラスのメソッド内で self がすりかわります。 うーむ、すいません、こうですかね。 Index: eval.c =================================================================== RCS file: /cvs/ruby/src/ruby/eval.c,v retrieving revision 1.391 diff -u -2 -p -r1.391 eval.c --- eval.c 3 Feb 2003 05:34:13 -0000 1.391 +++ eval.c 6 Feb 2003 12:04:14 -0000 @@ -6620,4 +6620,5 @@ proc_invoke(proc, args, pcall, self) old_block = ruby_block; _block = *data; + _block.frame.self = self; ruby_block = &_block; -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦