ruby-trunk-changes r58005 - r58018

今日は Symbol のブロック引数渡しと Refinements がからむ不具合修正などがありました。

kazu: r58005 2017-03-17 22:24:14 +0900

doc/ChangeLog-1.9.3 の typo 修正。またずいぶん前のをみつけましたね。

normal: r58006 2017-03-18 04:59:56 +0900

Continuation, Fiber, Dir, StringIO, Binding, Mutex, Thread あとバイナリフォーマットからの ISeq Loader の mark/free 関数の中で NULL チェックの分岐をしていたのを不要なので削除しています。

svn: r58007 2017-03-18 04:59:57 +0900

version.h の日付更新。

stomar: r58008 2017-03-18 05:48:51 +0900

IO#read, ARGF#read などの rdoc 用コメントで markup の修正と説明の追加などを行なっています。

duerst: r58009 2017-03-18 10:35:03 +0900

r58000 で r57997 の一部が revert されてしまっていたのを再適用しています。

nobu: r58010 2017-03-18 19:19:52 +0900

.gdbinit の rp コマンドで struct RArray のオブジェクトの内容の表示に output/x のかわりに print/x コマンドを使うようにしています。

nobu: r58011 2017-03-18 19:37:53 +0900

.gdbinit の rp コマンドでインスタンス変数が空の struct RObject の表示で警告が出るのを抑制しています。

nobu: r58012 2017-03-18 20:29:35 +0900

invoke_iseq_block_from_c() でメソッド呼び出し時の引数の VM スタックへ積んでvm_yield_setup_args() を呼び出す時に cfp->sp を更新しておくようにしています。

nobu: r58014 2017-03-18 22:15:15 +0900

r58012 の追加修正。 cfp->sp を動かす数を未初期化の変数 i でなく引数の argc を使うようにしています。

nobu: r58015 2017-03-18 23:22:15 +0900

ブロックが渡されたメソッドがそのブロックを別のブロック渡しで呼び出す(Proc#call メソッドで)時に、元のブロックが Symbol#to_proc で作られたものでなおかつ Refinements が(メソッドと関係なくても)利用されているとブロックが呼び出せない不具合を修正しています。発生条件が難しい。 [ruby-core:80219] [Bug #13325]

nobu: r58016 2017-03-19 00:30:14 +0900

test/ruby/test_lambda.rb のテストが失敗していたのを修正。 lambda への引数の渡しかたが変わった? [ruby-core:61340] [Bug #9605]

svn: r58017 2017-03-19 00:30:15 +0900

version.h の日付更新。

nobu: r58018 2017-03-19 00:58:13 +0900

test/ruby/test_lambda.rb から Proc no lambda 型とそうでないもので引数の受け取りかたの違いをチェックするテストをひとつ削除しています。