ruby-trunk-changes r33984 - r33995

usa:r33984 2011-12-08 22:34:33 +0900

r33801 で拡張ライブラリのソースファイルに変更があった時に Makefile を再生成するようにしましたが、変更を検出するために Dir.glob した結果を sort していなくて不一致になって不要な再生成をしてしまっていたのを修正しています。

akr:r33985 2011-12-08 22:50:10 +0900

Kernel#exit を実行した時に発生する SystemExit 例外の SystemExit.new の引数(終了ステータスとメッセージを受け取れる)のテスト追加と rdoc 追記。

usa:r33986 2011-12-08 23:28:28 +0900

r33984 で拡張ライブラリのソースファイルの一覧をソートするようにしたものですが、ORIG_SRCS は basename についてソートしていて、Dir.glob した結果を basename にする前に sort していたのを、basename 化した後で sort するようにしています。1つのディレクトリの下で glob しているので先に sort しても順番は変化しませんが一応。

nagachika:r33987 2011-12-08 23:47:19 +0900

private_constant に複数の引数が渡されていて、途中で NameError が発生した場合に(r33935 よりも前は成功した時も) inline cache のクリア処理がされていないため、private_constant の指定をする前にその定数を参照済みのメソッドなどはそのまま参照できるケースがありえたのを修正しています。 [ruby-dev:44929] [Backport #5702]

naruse:r33988 2011-12-08 23:52:13 +0900

PStore のテストで一時ファイルを生成するディレクトリを mktmpdir で作った一時ディレクトリ内に置くようにしています。

luislavena:r33989 2011-12-09 08:00:36 +0900

include/ruby/win32.h で stat() を代替関数に定義する前に #undef することで警告を回避しています。

svn:r33990 2011-12-09 08:00:42 +0900

version.h の日付更新。

naruse:r33991 2011-12-09 15:01:41 +0900

Encoding.default_external, Encoding.default_internal を設定して Encoding::Converter を生成しようとするとエラーになる不具合を修正。エンコーディングの拡張ライブラリをロードする時のそのパスを変換しようとしてロードしようとしているエンコーディングを利用しようとしてエラーになる、ということだと思いますが、ロードしようとするファイルパスが ASCII 文字のみだったら変換しないようにして回避しています。 [ruby-core:41556] [Bug #5733]

naruse:r33992 2011-12-09 15:36:43 +0900

r33991 で追加したテストの修正。

naruse:r33993 2011-12-09 19:27:37 +0900

文字エンコーディング ISO-8859-16 の変換テーブルを追加しています。

nobu:r33994 2011-12-09 21:40:59 +0900

test_econv.rb でテストに利用するエンコーディング名が ISO-8859-\d[0-5] と末尾が 0-5 に限定されていたので、追加したエンコーディングも利用されるように任意の数を受け付けるように変更しています。