From: SASADA Koichi Date: 2011-03-29T19:20:31+09:00 Subject: [ruby-dev:43368] Re: [Ruby 1.9 - Bug #4536][Open] 定数参照について1.8と1.9の違い  ささだです. (2011/03/29 18:37), Shugo Maeda wrote: > 以下のようにCOPY_CREFでフラグを伝搬させるとこの部分に関しては1.8と同じ動作になるようです。 > > diff --git a/vm_insnhelper.h b/vm_insnhelper.h > index 979c342..31ef216 100644 > --- a/vm_insnhelper.h > +++ b/vm_insnhelper.h > @@ -154,6 +154,9 @@ extern VALUE ruby_vm_const_missing_count; > (c1)->nd_clss = __tmp_c2->nd_clss; \ > (c1)->nd_visi = __tmp_c2->nd_visi;\ > (c1)->nd_next = __tmp_c2->nd_next; \ > + if (__tmp_c2->flags & NODE_FL_CREF_PUSHED_BY_EVAL) { \ > + (c1)->flags |= NODE_FL_CREF_PUSHED_BY_EVAL; \ > + } \ > } while (0) > > #define CALL_METHOD(num, blockptr, flag, id, me, recv) do { \ > > あんまりちゃんと考えてないので副作用があるかも。  おお,知らないところだ :) テストが通るのならいいんでないでしょうか. -- // SASADA Koichi at atdot dot net