ruby-trunk-changes r46024 - r46031

今日は内部的な実装の小さな変更や CI 用の一時的な変更などが主で、挙動に関する大きな変更はありませんでした。

akr: r46024 2014-05-20 05:00:00 +0900

r46017 の Socket::Option#inspect での TCP_INFO の対応のために拡張ライブラリ socket の extconf.rb で構造体 struct tcp_info のメンバーの存在チェックをしていたのを、構造体が存在した時だけ実施するようにしています。

svn: r46025 2014-05-20 05:00:14 +0900

version.h の日付更新。

nobu: r46026 2014-05-20 15:28:52 +0900

to_int, to_ary, to_str, to_sym, to_hash, to_proc, to_io, to_a, to_s などの変換メソッド名の Symbol と ID をインタプリタ起動時に組み込みで定義しておくようにするため defs/id.def に移動しています。このほうが少し効率的だったりするのでしょうか。

naruse: r46027 2014-05-20 15:39:08 +0900

標準添付ライブラリの rdoc で標準出力が端末の時だけプログレスを出すようにしているのを、CI の実行で rdoc によるドキュメント生成がタイムアウトになることがしばしばあるので、常にプログレスを出力するようにしてみています。 デバッグ用で、後で元に戻されることでしょう。

naruse: r46028 2014-05-20 15:41:06 +0900

r45994 で CI でのタイムアウトを避けるために test_LSHIFT_neary_long_max というテストで子プロセスを待つタイムアウト時間を延ばしたのをさらに 15 sec -> 20 sec に延長しています。

nobu: r46029 2014-05-20 17:28:31 +0900

array.c と hash.c の equal の実装 rb_ary_equal() と hash_equal() でそれぞれ r46026 で組み込みで定義するようにした to_ary, to_hash の ID の定数を利用するようにしています。

nobu: r46030 2014-05-20 17:28:33 +0900

r46026 に追加して to_i もあらかじめ定義しておくように defs/id.def に追加しています。また numeric.c で to_i の ID を rb_intern() で作っているところをこの事前に定義された定数を利用するようにしています。

hsbt: r46031 2014-05-20 21:02:03 +0900

Dir.glob のテストケースに "//" とパスの区切り文字が 2重になった文字列がパターンとして渡された時に、それがそのまま残っていることを確認する assertion を追加しています。パスの正規化はしないのが仕様なんですね。