From: Yusuke ENDOH Date: 2010-06-12T14:12:15+09:00 Subject: [ruby-dev:41593] Re: [Bug #3123] uninitialized constant Object::C (NameError) 遠藤です。 2010年6月12日11:28 Tadashi Saito : >> > いつの間にかトップレベルでの uninitialized constant で Object:: が付くようになってしまっています。 >> >> 確かにバグだと思いますが明らかに重大でないことと、直そうとすると >> 意外と面倒っぽく、revert するのはそっちの方が大変更になるので、 >> 1.9.2 では WONTFIX とします。 > > まつもとさんのr28293でtrunkでは直ったようなので、WONTFIXにせず、これを > 1.9.2にも取り込んで欲しいです。手元では1.9.2でも直るのを確認しました。 > > いちRubyユーザーから言わせていただくと、「明らかに重大である」と思います。 > すくなくとも僕の友人のような、Ruby初学者は多いに戸惑って、本を何度も読み直して、 > 自身をなくす落とし穴になると思います。新たなFAQになりかねないでしょう。 まつもとさんの修正だと class << Object.new; Foo; end のエラー メッセージが変わってしまいます。 私は Object:: がつくかどうかは重大でないという立場ので、この 程度の非互換は構わないと思いますし、何がなんでもバックポートに 反対でもないです。 でも重大でない問題なら今は極力コードをいじりたくありません。 Object:: がつくかどうかが「明らかに重大である」という立場なら、 このパッチはバックポートはできないと思います。 ちなみに何が重大なんでしょうか。むしろ Object:: がついた方が 初学者には親切なのでは、という気もするのですが。 > またまつもとさんの修正はシンプルなものなので、「大変更」にもならないと思います。 簡単に見える変更でも、気が付きにくい問題は入るものです。 -- Yusuke Endoh