ruby-trunk-changes r40001 - r40006

今日は Windows 環境でのファイル操作に関する不具合修正2件と、bcc32 サポートの終了に伴ないサブディレクトリの削除がありました。

usa:r40001 2013-03-30 03:52:51 +0900

Windows でファイルの rename に使う関数を MoveFileW() から MoveFileExW() に変更しています。元々 MoveFileW() で既にファイルが存在していてエラーになった時はあらためて MoveFileExW() で移動していたみたいですが、こちらに一本化しています。これは MoveFileW() だとドライブをまたいだ移動ができないことがあるため FileUtil.mv がドライブ間でファイル移動できなかったためとのことです。 [ruby-core:53492] [Bug #8109]

svn:r40002 2013-03-30 03:52:56 +0900

version.h の日付更新。

usa:r40003 2013-03-30 04:00:05 +0900

よく理解していませんが Windows 版で ファイルパスの文字エンコーディングの変換のための codepage が間違っていて異常終了することがあったのを修正しているとのこと。 [ruby-core:53079] [Bug #7996]

marcandre:r40004 2013-03-30 12:03:58 +0900

r39628 で Module#ancestors が特異クラスも含めるようにした変更について NEWS ファイルの説明に、含まれるのは self が特異クラスだった時ということを追記しています。 [ruby-core:53171] [Feature #8035]
この変更に関して rspec-mock がひっかかっているというのをチケット化して、そこにもコメントをもらっているのですがまだよく読めてないです。仕様変更はいいかなと思うのですが rspec 側の workaround が実は意外に難しいんじゃないかって気がしています(include だけなら大丈夫だと思うんですけど……)。

marcandre:r40005 2013-03-30 13:33:28 +0900

いくつかのテストで EnvUtil.verbose_warning というユーティリティを使って警告メッセージが出ないことをチェックしていたのを assert_warning という警告メッセージの内容をチェックする assertion を使うように(警告が空であることをチェックさせることによって)書き換えています。

kazu:r40006 2013-03-30 14:14:54 +0900

bcc32 サブディレクトリを削除しています。 Borlandコンパイラ向けのサポートは既にメンテナンスされておらず、先日の開発者会議で消そうということになっていました。