From: Yusuke ENDOH Date: 2010-03-07T22:06:39+09:00 Subject: [ruby-dev:40575] Re: [Bug #2581] require_relative depends on current directory 遠藤です。 2010年3月7日21:17 KOSAKI Motohiro : >>> 1.9.2 では $: から "." が消えるため require_relative の需要が >>> 増えることが予想されます。そのため、この問題はわりと重大だと >>> 思っています。とりあえず優先度を urgent にしておきます。 >> >> スクリプト先頭に書くぶんには動くしなぁ。 > > いままでの議論で、条件が明らかになったと思っており、かつその条件 > (require_relative前にスクリプトがchdirを呼ぶ)は、あまり普通の使い方では > なさそうだと思っています。 条件は、 - 相対パスで起動したスクリプトの中で - Dir.chdir した後に - require_relative を呼ぶ ですよね。 Ruby では、ファイル先頭でなく、コード中で必要になって始めて require を 呼ぶというコードが結構あります。lib/ 以下にもたくさん見つかります。 (標準添付ライブラリのコードは上記の条件にあわないから問題ないけれど) 同じノリで require_relative を使われることは想像に難くないです。 > 直すべきバグだとは思いますが、1.9.2のリリースに影響を与えるほどの深刻度とは > 思えないので、優先度をNormalに戻すことを提案します。 $: から "." が消された理由が正式に公開されていない (セキュリティ関係の 対策であるため公開したくない?) のですが、この問題はその対策を台無しに してしまうわけではないですか? ないということであれば、Normal に戻したいと思います。akr さんが修正に 乗り気でないとわかったので、おそらく大丈夫なのかなと思いますが。 -- Yusuke ENDOH