ruby-trunk-changes r50876 - r50898

今日も新機能の追加が多く、Enumerable#chunk_while の追加、Pathname#descend, Pathname#ascend の Enumerator 対応などがありました。

gogotanaka: r50876 2015-06-14 03:34:13 +0900

test/test_cmath.rb で 1+1i のような複素数リテラルを assert メソッドの第1引数にしているところでかっこをつけて警告の抑制を行なっています。なるほど、m 1+1i は m(1+1i) と m(1) + 1i でどちらか曖昧なんですね。

svn: r50877 2015-06-14 03:36:35 +0900

version.h の日付更新。

eregon: r50878 2015-06-14 04:17:19 +0900

標準添付ライブラリ delegate の rdoc コメントのサンプルから不要な initialize メソッドの再定義を消しています。Delegator#initialize が __setobj__ を呼ぶようになっているので __setobj__ が再定義されていれば initialize は再定義する必要がないということのようですね。

eregon: r50879 2015-06-14 04:41:25 +0900

テストで Tempfile のリークがないかチェックしている test/lib/leakchecker.rb で Tempfile が未定義の時の戻り値が配列になっていたので単に false を返すようにしています。

eregon: r50880 2015-06-14 04:42:03 +0900

同じく test/lib/leakchecker.rb でいくつかの leak のチェック結果をみて GC.start を呼ぶところをリファクタリングしてローカル変数を除去しています。

eregon: r50881 2015-06-14 05:25:10 +0900

IO.binread で第3引数の offset が指定されてた時に rb_io_seek() で例外などが発生した時に開いた fd を close するようにして fd leak の可能性を修正しています。

eregon: r50882 2015-06-14 06:26:32 +0900

r50881 の IO.binread の fd leak 修正についてのテストを追加しています。

usa: r50883 2015-06-14 09:59:23 +0900

test/test_unicode_normalize.rb でメソッド呼び出しのかっこを追加して警告除去。

kou: r50884 2015-06-14 10:13:33 +0900

標準添付ライブラリ rexml で REXML::AttlistDecl の rdoc 用コメントの typo 修正。 https://github.com/ruby/ruby/pull/934

kou: r50885 2015-06-14 10:14:38 +0900

標準添付ライブラリ rexml の REXML::IOSource#scan の rdoc 用コメントの typo 修正。 https://github.com/ruby/ruby/pull/934

usa: r50886 2015-06-14 10:46:22 +0900

tool/runruby.rb で rbconfig.rb の RUBY_VERSION のチェックを削除しているところで "true" に置換しているのを、"possibly useless use of true in void context" という警告になるのを避けるため単に消すようにしています。

nobu: r50887 2015-06-14 17:20:43 +0900

require などでロードするファイルを検索する時に呼ばれる rb_file_load_ok() でファイルを開こうとするところを GVL をはずして open するようにしています。 [Bug #11060]

akr: r50888 2015-06-14 17:53:27 +0900

NEWS ファイルの Enumerable#grep_v と Numeric#positive?, Numeric#negative? のエントリにそれぞれチケット番号の参照を追記しています。 [Feature #11049] [Feature #11151]

akr: r50889 2015-06-14 17:54:19 +0900

Enumerable#chunk_while という新しいメソッドを追加しています。 実装をみた感じ Enumerable#slice_when と類似のメソッドで、隣りあう2つの要素をブロックで受け取って、その2つが同じ chunk に属するかどうかブロックの結果をみて判定して複数の配列に分割するメソッドです。 slice_when とはブロックの評価値の解釈が逆(true の時に2つの要素を同一の配列に入れる)なだけですね。 [ruby-core:67738] [Feature #10769]

akr: r50890 2015-06-14 19:11:01 +0900

拡張ライブラリ socket の numeric_getaddrinfo() でポート番号のオーバフローをチェックするようにしています。 [ruby-core:69355] [Bug #11179]

akr: r50891 2015-06-14 19:43:12 +0900

gc.c の ObjectSpace.count_objects の rdoc 用コメントに "T_" から始まるキーの説明を追記しています。

akr: r50892 2015-06-14 20:10:49 +0900

Time#getlocal の rdoc 用コメントのサンプルコードに整数(秒)で offset を渡す例を追加しています。 [ruby-core:68306] [misc #10905]

nobu: r50893 2015-06-14 21:13:04 +0900

標準添付ライブラリ prime のテストでただの assert が使われていたのを assert_prediate や assert_respond_to、 assert_kind_of などチェック内容に応じた assertion メソッドを利用するようにしています。

nobu: r50894 2015-06-14 21:25:42 +0900

r50890 で追加された拡張ライブラリ socket の parse_numeric_port() という関数で警告除去のため明示的なキャストを追加しています。

akr: r50895 2015-06-14 22:35:05 +0900

tool/update-deps で gcc の出力結果から絶対パスが取得できなかった時の例外メッセージにその .i ファイルのパスを含めるようにしています。

usa: r50896 2015-06-14 22:48:17 +0900

r50887 で追加した fifo を利用したテストを Windows 環境では実行しないようにしています。

akr: r50897 2015-06-15 00:14:46 +0900

拡張ライブラリ pathname の Pathname#descend, Pathname#ascend でブロックを渡さない呼び出しで Enumerator を返す機能を追加しています。 [ruby-core:68820] [Feature #11052]

svn: r50898 2015-06-15 00:14:55 +0900

version.h の日付更新。