ruby-trunk-changes r63617 - r63625

今日は NODE_RESCUE ノードの位置情報の修正、power_assert のバージョン更新などがありました。

kazu: r63617 2018-06-10 01:05:38 +0900

r63616 の tool/extlibs.rb で &. 演算子を使う変更を revert しています。 BASERUBY で実行するので古い ruby を使った時にエラーになるため。

svn: r63618 2018-06-10 01:05:39 +0900

version.h の日付更新。

ktsj: r63619 2018-06-10 09:30:57 +0900

gems/bundled_gems の power_assert のバージョンを 1.1.2 に更新しています。

kazu: r63620 2018-06-10 12:10:13 +0900

test/testunit/test_parallel.rb で後置 if のかわりに &. 演算子を使うようにするリファクタリング

yui-knk: r63621 2018-06-10 14:02:26 +0900

parse.y の new_bodystmt() で NODE_RESCUE ノードの位置情報の終了位置が ensure 節などの後まで伸びていたのを修正しています。

nobu: r63622 2018-06-10 15:00:45 +0900

doc/extension.rdoc に Data_Get_Struct() を使うように書かれてたところが残ってたので TypedData_Get_Struct() に変更しています。 https://github.com/ruby/ruby/pull/1884

yui-knk: r63623 2018-06-10 15:22:15 +0900

parse.y の位置情報をセットするマクロ YYLLOC_DEFAULT() で第3引数 N が 0 の時の処理を修正しています。これは bison が自動的に呼び出すマクロみたいですね。これによって Node の位置情報の終端がずれる現象を修正しているようです。

nobu: r63624 2018-06-10 15:33:15 +0900

random.c の fill_random_seed() の fill_random_bytes() の呼び出し時に第3引数 need_secure (環境によっては未使用で unused という名前)を FALSE にして、secure な乱数を得るために実行がブロックされないようにしています。プロセス起動時にも呼ばれるためそこでブロックされるのを避けるためのようです。そのかわり Random.urandom の実装 random_raw_seed() では逆に need_secure を TRUE に変更して cryptographically secure な乱数を提供するようにしています。 [ruby-core:87462] [Bug #14837]

yui-knk: r63625 2018-06-10 16:01:53 +0900

r63562 で追加された TracePoint#parameters について NEWS ファイルに追記しています。