ruby-trunk-changes r31367 - r31372

今日は CVSAPI の変更、Windows 環境でのファイルパスのエンコーディングの自動変換の修正などがありました。

nobu:r31367 2011-04-28 06:06:59 +0900

open や popen、 `` でデフォルトの TEXTMODE フラグを rb_io_t::mode にセットするようにしています。Windows では FMODE_TEXTMODE がデフォルトになります [Bug #4619] ただこれでまだ Windows での make test-all が直っていないそうなので修正は未完成のようです。

svn:r31368 2011-04-28 06:07:03 +0900

version.h の日付更新。

nobu:r31369 2011-04-28 06:07:04 +0900

CVS.read で open の mode を "rb" にして呼び出すようにしていましたが、CVS.read の引数をそのまま渡すように(CVS.read で open に渡す mode を直接指定できるように)しています。

nobu:r31370 2011-04-28 06:07:09 +0900

CVS.open で open の :universal_newline オプションを false に指定して改行の自動変換をオフにするようにしています。またファイルのエンコーディングが ASCII compatible でなくて mode の指定がない時に例外が発生したら mode に "rb" を指定して open し直すようにしています。[Bug #4603]

usa:r31371 2011-04-28 15:34:01 +0900

test/dl/test_base.rb で libc の共有ライブラリを探すところで mswin/mingw では RbConfig::CONFIG["RUBY_SO_NAME"] から "-" で区切って "msvc" という名前を含む DLL を探すようにしています。しかし仮に "msvc" という文字列を含まないときにエラーになりそうです。
[追記]msvc*.dll はまあ当然含まれてるから良いということで。またこの変更の元になったチケットがありました。 [Feature #4602][/追記]

usa:r31372 2011-04-28 16:22:18 +0900

Windows 環境にて rb_w32_uopendir というファイルパスを UTF-8 の文字列で渡すことができる新しい API を新設して、Dir.new や Dir.glob で利用するようにしています。Dir のメソッドのパスに UTF-8 じゃない文字列を渡しても自動的に変換されない不具合を修正しています。 [Bug #4491]