ruby-trunk-changes r64766 - r64771

今日は Enumerator::Yielder#<< メソッドの引数の arity の変更などがありました。

nobu: r64766 2018-09-18 09:22:04 +0900

拡張ライブラリ pty の PTY.spawn で子プロセス起動する時に fd を dup2 で標準(エラー)入出力(fd=0,1,2) に複製した後に、複製元の端末の fd を close(2) してましたが、それが元々 0,1,2 だった時には閉じちゃうとまずいのでチェックを入れてます。どんな時にそんなことがありえるのかな、とチケットをみたら静的解析の検出ということなので、現実にはないのかも。 [ruby-core:89043] [Bug #15116]

svn: r64767 2018-09-18 09:22:06 +0900

version.h の日付更新。

nobu: r64768 2018-09-18 17:30:24 +0900

Enumerator::Yielder#yield のテストに複数の引数を渡してブロックで * つき引数(splat)で受け取った時のテストを追加しています。

hsbt: r64769 2018-09-18 17:37:18 +0900

標準添付ライブラリ rubygems に upstream から最新版をマージしています。

nobu: r64770 2018-09-18 17:49:40 +0900

Enumerator::Lazy の実装で yielder を使った実装では yield メソッドではなく << メソッドを内部から呼ぶように変更しています。そして Enumerator::Yielder#<< は引数を可変数個受け取らず 1つだけ受け取るようにメソッド定義を修正しています。 https://github.com/ruby/ruby/pull/1912 [ruby-core:87907] [Bug #14908]
そして rubyspec の Enumerator::Yielder#<< のテストで arity チェックしているものは削除しています。

nobu: r64771 2018-09-18 18:15:46 +0900

r64766 の追加修正。条件の and と or が反転してたので修正しています。 [ruby-core:89058] [Bug #15116]