ruby-trunk-changes r63030 - r63034

今日は Array#map のブロックとして lambda タイプの Proc オブジェクトを渡した時の不具合修正などがありました。

nobu: r63030 2018-03-29 09:05:45 +0900

Array#map が配列の配列に対して呼ばれた時にブロックパラメーターに子配列の内容を展開して渡す挙動が、ブロック引数として lambda タイプの Proc オブジェクトが渡されると明示的に (a,b,c) のように分解する書きかたをしないとエラーになるようになっていたのを修正しています。 [ruby-core:86362] [Bug #14639]

svn: r63031 2018-03-29 09:05:46 +0900

version.h の日付更新。

nobu: r63032 2018-03-29 10:33:25 +0900

parse.y の bitstack 操作のマクロ群 BITSTACK_PUSH(), BITSTACK_POP(), BITSTACK_SET_P(), BITSTACK_SET() などの展開時に p-> という構造体メンバー参照も含めるようにして呼び元で p->cond_stack などと書いていたのを cond_stack だけ書くようにしています。

nobu: r63033 2018-03-29 12:42:32 +0900

parse.y の begin やブロックの前後で p->cmdarg_stack の SET をしていたのを PUSH/POP を使うように書き換えています。テストも追加されてるから何か不具合修正されたのかな。

nobu: r63034 2018-03-29 14:56:04 +0900

Dir.glob の実装で文字列が NUL 文字で終端していることを前提にしていたところがあったのを修正しています。