ruby-trunk-changes r45217 - r45230

今日は open3 の不具合修正や test/unit の新しい assertion の追加などがありました。

nobu: r45217 2014-03-01 00:47:52 +0900

numeric.c で "==" と "<=>" を rb_intern() した static 変数を初期化していましたが、これらは idEq, idCmp としてインタプリタ初期化時に作られるシンボルがあるのでそちらを利用するようにマクロ定義を導入しています。

svn: r45218 2014-03-01 00:47:57 +0900

version.h の日付更新。

akr: r45219 2014-03-01 01:01:54 +0900

Time#strftime の rdoc 用コメントの %Z (タイムゾーンの省略形)の項目にこの指示子の挙動は OS 依存であることを追記しています。

zzak: r45220 2014-03-01 10:53:24 +0900

README.EXT.ja で文言が重複していた typo を修正しています。 https://github.com/ruby/ruby/pull/551

tenderlove: r45221 2014-03-01 11:09:53 +0900

拡張ライブラリ psych で YAML の dump/load の Encoding オブジェクトの対応を追加して、バージョンも 2.0.3 から 2.0.4 に更新しています。 ちなみに Encoding オブジェクトは "!ruby/encoding" タグをつけてエンコーディング名で dump するようです。

nobu: r45222 2014-03-01 16:08:17 +0900

標準添付ライブラリ test/unit に assert_all? と assert_not_all? という assertion を追加しています。 each メソッドが実装されているオブジェクトを受け取って、渡されたブロックに全ての要素を引数に渡して呼び出して結果が全て真/偽であることを確認する assertion です。

nobu: r45223 2014-03-01 16:08:19 +0900

標準ライブラリ csv のテストでただの assert などを利用していたのを assert_predicate や assert_respond_to、r45222 で追加した assert_all? などを利用するように修正しています。

normal: r45224 2014-03-01 16:15:07 +0900

GC のパラメータの環境変数からの取り込みで RUBY_GC_OLDMALLOC_LIMIT を取り込むのは RGENGC_ESTIMATE_OLDMALLOC が定義されている時だけという条件でしたが、USE_RGENGC が偽の時にコンパイルエラーになっていたので条件を追加しています。

akr: r45225 2014-03-01 16:19:08 +0900

拡張ライブラリ readline で Readline-6.3 を使ってビルドできるように消された Function という型のかわりに rl_hook_func_t を利用するように修正しています。 rl_hook_func_t は Readline-4.2 から存在するのでそれ以降であれば古い Readline でもビルドできるそうです。 [ruby-core:61141] [Bug #9578]

normal: r45228 2014-03-01 19:08:10 +0900

r45224 の環境変数 RUBY_GC_OLDMALLOC_LIMIT の取り込み処理のところ USE_RGENGC を条件に加えてたのをやっぱりやめて RGENGC_ESTIMATE_OLDMALLOC が定義されているかどうかでなくて、値が真かどうかをチェックするように再修正しています。

akr: r45229 2014-03-01 19:56:39 +0900

標準添付ライブラリ open3 の Open3.capture3, capture2, capture2e で子プロセスへの pipe への書き込みで Errno::EPIPE が発生した時に無視するようにしています。子プロセスが入力を読まずに終了してしまった時にエラーにならないようにしています。

naruse: r45230 2014-03-01 20:07:15 +0900

tool/redmine-backporter.rb で svn log でチケットに関連したログを取得した時にリビジョン番号を切り出すのを正規表現のローカル変数への取り込み機能を利用するようにしています。また対応するリビジョン番号が取り出せなかった時に処理に入ってしまわないようにしています。