ruby-trunk-changes r53164 - r53172

今日は attr= 型メソッドに(alias 経由で)キーワード引数を渡すと [BUG] を引き起す不具合の修正や、Symbol をブロック引数に渡した時の不具合の修正などがありました。

ko1: r53164 2015-12-17 03:20:29 +0900

obj.attr= のような形式のメソッドにキーワード引数が渡された時に rb_call_info_t::flags に fastpath フラグを立てないようにしています。普通は文法的にキーワード引数は渡せないはずですが、 alias で普通の名前のメソッドを作るとそちらで渡せて stack consistency error になってしまうようです。 [ruby-core:71344] [Bug #11657]

svn: r53165 2015-12-17 03:20:46 +0900

version.h の日付更新。

ko1: r53166 2015-12-17 03:56:05 +0900

r53144 で int 型の関数の戻り値を Qfalse と比較していたのは FALSE なのでそのまま真偽値として使うようにしています。

nobu: r53167 2015-12-17 09:46:07 +0900

Regexp#names で正規表現オブジェクトの capture name を返す時に元のエンコーディングを保持するようにしています。 [ruby-core:72185] [Bug #11825]

nobu: r53168 2015-12-17 13:35:26 +0900

文字列のエンコード変換すると taint フラグが継承されない不具合を修正しています。

nobu: r53169 2015-12-17 14:16:27 +0900

String#scrub でも元の String の taint 状態を引き継ぐようにしています。

shugo: r53170 2015-12-17 16:16:14 +0900

r53152 と同様に Symbol をブロック引数として渡してブロックに変換した時に rb_block_arity() でブロックの引数のチェックで Symbol がやってくることが考慮されていなくて SEGV していた不具合を修正しています。 [ruby-core:72205] [Bug #11830]

shugo: r53171 2015-12-17 22:15:20 +0900

逆に vm_caller_setup_arg_block() でブロックの proc には IFUNC が入ることはなくなった(r52138 で Symbol のまま引きまわすようになった)のでその時の分岐を削除しています。

kazu: r53172 2015-12-17 22:50:38 +0900

NEWS ファイルのエントリを辞書順に並びかえています。