ruby-trunk-changes r34393 - r34399

今日は File.expand_path とエンコーディングに関する不具合修正、method_missing によるメソッドを enum_for で Enumerator にした時などにブロックが渡されない不具合の修正などがありました。

kanemoto:r34393 2012-01-29 22:50:18 +0900

tool/config.guess, tool/config.sub の対応するプラットフォームに AIX 7 と MSYS を追加。また xscale, hexagon, tile*, NEO-? etc... などのアーキテクチャに対応。って本当にこんなプロセッサ上で動くのかな。その他もたくさん追加されています。

naruse:r34394 2012-01-29 23:24:05 +0900

r34391 で追加した Readline の補完とマルチバイト文字のテストで locale のエンコーディングUTF-8, EUC-JP, Windows_31J のいずれかでないときはテストできないので skip するようにしています。

usa:r34395 2012-01-30 10:39:52 +0900

irbirb/completion.rb のテストで irb/completion が require できない時(readline が利用できない時に例外が発生するらしいです)は skip するようにしています。

svn:r34396 2012-01-30 10:39:57 +0900

version.h の日付更新。

usa:r34397 2012-01-30 12:31:58 +0900

File.expand_path で引数の文字列のエンコーディングが(ファイルシステムの)ファイルパスのエンコーディングと違って、カレントディレクトリと連結しないといけない時に、カレントディレクトリの文字列が互換性があれば引数のファイルパスのエンコーディングに、なければファイルシステムエンコーディングに変換しているようなのですが、変換しない時もエンコーディングの設定をするようにしています。どこかで漏れてたんだと思いますがどのパスなのか見極められませんでした。

nobu:r34398 2012-01-30 14:37:28 +0900

r34394 で Readline の補完のテストをする locale のエンコーディングを制限しましたが、明示的にするのではなくて実際にテストに使う文字列を String#encode してみて変換できたらテストするようにしています。
begin が値を持つので or で連結しているところでテストに使う補完候補の文字列を作って、作れなかったら skip にしています。

nobu:r34399 2012-01-30 19:08:23 +0900

vm_call0(), method_missing(), vm_call_method() などで rb_thread_t::passing_block の設定を引き継いでいなくて Object#enum_for で Enumerator にしたり、Object#method で Method オブジェクトにしてから call で呼んだ時に method_missing にブロックが渡されていなかった不具合を修正。 [ruby-dev:44961] [Bug #5731]