ruby-trunk-changes r44512 - r44522

今日は RubyGems の 2.2.1 への更新と標準添付ライブラリ timeout の修正がありました。

tmm1: r44512 2014-01-07 04:38:20 +0900

r43969, r43970 あたりの最適化で Array#uniq! で同一と判定された最後の要素が含まれるようになってしまっていたため Array#uniq と Array#uniq! で異なるオブジェクトが含まれるようになっていたので内部で Hash に登録する時に登録済みだったら追加しないようにしています。 [ruby-core:59457] [Bug #9340]

svn: r44513 2014-01-07 04:38:25 +0900

version.h の日付更新。

tmm1: r44514 2014-01-07 10:13:46 +0900

拡張ライブラリ json の generator および parser の depend ファイルに $(ruby_headers) への依存関係を追加しています。 ABI 変更時に拡張ライブラリを再コンパイルするようにしています。 [ruby-core:59609] [Bug #9374]

drbrain: r44515 2014-01-07 10:19:28 +0900

RubyGems の 2.2.1 への更新です。 更新履歴はこちらを参照 http://rubygems.rubyforge.org/rubygems-update/History_txt.html
ちらっと眺めた感じでは Gemfile.lock でのプラットフォーム指定の不具合修正、依存関係解決の改善、gem install の Bundler API 対応をして高速化などの変更があったそうです。

nobu: r44516 2014-01-07 12:41:24 +0900

Timeout のテストでタイムアウトの時間をより短くして待ち時間が減るようにしています。

nobu: r44517 2014-01-07 12:42:37 +0900

標準添付ライブラリ timeout で Timeout.timeout の第2引数に利用する例外クラスを渡した時に呼び出しの時点でその例外オブジェクトを生成しようとしていたのをタイムアウト発生時に例外オブジェクトを作るように修正しています。 [ruby-core:59511] [Bug #9354]

nobu: r44518 2014-01-07 12:43:08 +0900

標準添付ライブラリ timeout の Timeout::ExitException を raise で例外として発生させた時にタイムアウト時の処理として扱わない(現在の timeout.rb はデフォルトでは raise - rescue ではなくて throw - catch を使うようになっています)ようにしています。

nobu: r44519 2014-01-07 12:43:44 +0900

標準添付ライブラリ timeout の Timeout::ExitException の不要になった attr_reader :klass を削除しています。

nobu: r44520 2014-01-07 21:08:45 +0900

標準添付ライブラリ timeout がデフォルトで利用する例外クラス Timeout::ExitException の対象の Thread を保持するインスタンス変数名を変更していますが、次で revert されています。何か依存していたんでしょうか。

nobu: r44521 2014-01-07 21:21:51 +0900

r44520 の Timeout::ExitException のインスタンス変数名変更を revert しています。

a_matsuda: r44522 2014-01-07 23:29:41 +0900

rb_num2ull() での整数オブジェクトの unsigned long long への変換でのエラー時の例外メッセージの typo 修正。