ruby-trunk-changes r50115 - r50125

今日は IO.copy_stream に Tempfile など IO と類似のメソッドをもつオブジェクトを渡した時の対応の変更や Windows 環境でのシンボリックリンクの対応の修正などがありました。

nobu: r50115 2015-03-30 07:35:45 +0900

rubygems のテスト用のスクリプトで make コマンドを指定する環境変数として小文字の make を利用していたので MAKE を参照するように変更しています。

svn: r50116 2015-03-30 07:36:28 +0900

version.h の日付更新。

nobu: r50117 2015-03-30 09:50:47 +0900

r50115 で環境変数 MAKE を参照するようにしましたが、互換性のため make も参照するようにしています。

nobu: r50118 2015-03-30 11:28:02 +0900

IO.copy_stream で引数が IO オブジェクトでない場合でも src なら read と readpartial メソッドが呼び出せれば、dst なら write メソッドが呼び出せればそのまま利用し、to_path でファイルパスを取得して fd を開き直さないようにしています。 Tempfile オブジェクトを IO.copy_stream に渡した時に別途 fd を開かなくてすむようにしているようです。 [ruby-core:68676] [Bug #11015]

nobu: r50119 2015-03-30 14:27:21 +0900

r50063 で追加した Windows 版の rb_readlink() で mbstr_to_wstr() で wide char 文字列に変換する時に終端文字のぶんもサイズを考慮するようにしています。

nobu: r50120 2015-03-30 14:42:44 +0900

Windows 環境でファイルシステムメタデータUnix 流の mode に変換する時に、ディレクトリであるかどうかより REPARSE POINT によるシンボリックリンク判定のほうを優先させるようにしています。

nobu: r50121 2015-03-30 15:24:40 +0900

r49932 での T_IMEMO オブジェクトの導入に追随して error.c の builtin_types() の宣言を修正しています。どこで使ってるかなとみてみると、なるほど、Marshal でもオブジェクト型の名前が利用されているんですね。

naruse: r50122 2015-03-30 16:36:54 +0900

Sparc 上の Solaris では vfork(2) は deprecated で警告が出るそうで(i386-solaris は違うそうですが)、vfork(2) を利用しないようにしています。

naruse: r50123 2015-03-30 18:27:15 +0900

と、思ったらなんと fork(2) も deprecated で警告が出るそうなので r50122 を revert しています。 fork(2) も vfork(2) もダメって一体…。posix_spawn(2) を使えというのが正解みたいですね。まあ、正しいですね。

kazu: r50124 2015-03-30 22:08:16 +0900

r50090 で r50077 および r50081 で改名された README.EXT を復活させて移動先を示すようにしていましたが、README.EXT.ja も復活させて日本語版の移動先も書いておくようにしています。 [ruby-core:68631]

svn: r50125 2015-03-30 22:09:01 +0900

r50124 で復活した README.EXT.ja の svn property 設定。