ruby-trunk-changes r55606 - r55614

今日は instance_eec と省略可能引数を持った lambda の組み合わせでの不具合修正などがありました。

naruse: r55606 2016-07-08 00:49:17 +0900

vm_eval.c の yield_under() で引数を Ruby の Array オブジェクトで受け取っていたのを argc, argv で VALUE の配列として受け取ってそのまま vm_yield_with_cref() に渡すように変更して、呼び元での不要な中間オブジェクト生成をなくしています。

svn: r55607 2016-07-08 00:49:18 +0900

version.h の日付更新。

naruse: r55608 2016-07-08 03:59:38 +0900

test/ruby/test_thread.rb の未使用ローカル変数の警告除去。 assert にせっかく定義しておいた ML 番号の参照を渡すのを忘れてたのを修正しています。 [Bug #12290]

naruse: r55609 2016-07-08 03:59:38 +0900

Object#instance_exec の引数に省略可能引数を持った Proc オブジェクト(lambda タイプの) を渡すと、ブロックに渡す引数の配列が展開されて複数の引数として扱かわれて ArgumentError になる不具合を修正しています。 [ruby-core:76300] [Bug #12568]

shugo: r55610 2016-07-08 08:46:51 +0900

IO.read の rdoc 用コメントに "|" からはじまる引数を渡すと、Kernel#open と同様に子プロセスでコマンドを実行してその標準出力に繋がった pipe から読み込む挙動になる点を追記しています。

shugo: r55611 2016-07-08 14:21:54 +0900

r55605 で末尾呼び出し最適化が on の時にブロック引数に Symbol を渡した時の不具合修正で to_proc メソッドを呼び出して Proc へ変換するのを(これ自体は r55605 で修正した箇所ではありませんが)、rb_sym_to_proc() を直接呼び出して変換するようにしています。

nobu: r55612 2016-07-08 14:38:16 +0900

r55604 の Float#round の丸める桁を指定した時の調整で、途中で明示的な double へのキャストを追加しています。FPU を使わないようにしているそうですが、キャストだけでそんな効果があるんでしたっけ?

ngoto: r55613 2016-07-08 21:51:36 +0900

thread.c の rb_wait_for_single_fd() で ppoll(2) を呼ぶ前に fds.revents を 0 にリセットしています。 [ruby-dev:49725] [Bug #12575]

kazu: r55614 2016-07-08 22:22:23 +0900

r55593 の ChangeLog エントリの typo 修正。