ruby-trunk-changes r60849 - r60862

今日も NODE の位置情報の修正や標準添付ライブラリ matrix の新規メソッド追加などがありました。

eregon: r60849 2017-11-20 00:15:12 +0900

rubyspec の Module#autoload のテストの位置をちょっと移動しています。

svn: r60850 2017-11-20 00:15:13 +0900

version.h の日付更新。

eregon: r60851 2017-11-20 00:15:31 +0900

rubyspec の Module#autoload の複数 Thread からのロード時のテストを追加しています。

svn: r60852 2017-11-20 00:15:32 +0900

r60851 の新規追加ファイルの末尾に改行を追加しています。

svn: r60853 2017-11-20 00:15:32 +0900

r60851 の新規追加ファイルの svn property 設定。

eregon: r60854 2017-11-20 00:15:49 +0900

test/ruby/bug-13526.rb というテスト用スクリプトで Module#autoload の複数 Thread からの load のテストをしているところで Thread.report_on_exception = true を設定してメインスレッド以外での例外を通知するようにしています。

yui-knk: r60855 2017-11-20 08:59:32 +0900

NODE_BLOCK という NODE の位置情報の修正。 NODE_BLOCK っていわゆるブロックかと思いそうですが、どうやら複文などのいわゆるコードブロックのことみたいですね。

nobu: r60856 2017-11-20 10:17:43 +0900

r60848 で gc.c で定義するようにした ENABLE_VM_OBJSPACE ですが常に 1 を定義するようにして、Windows 版での vm_exit_handler() という関数を at_exit() に登録することにして終了時のインタプリタの後始末を行うようにしています。ううむ、Kernel#at_exit との食い合わせとか大丈夫かなこれ。

marcandre: r60857 2017-11-20 11:18:12 +0900

標準添付ライブラリ matrix に Matrix#to_matrix という coerce 用の変換用メソッドを定義しています。

marcandre: r60858 2017-11-20 11:18:23 +0900

標準添付ライブラリ matrix で Matrix.vstack および Matrix.hstack の引数に Vector も受け付けるようにしています。 ここで to_matrix で変換するために Matrix#to_matrix も定義したんですね。

marcandre: r60859 2017-11-20 11:18:34 +0900

標準添付ライブラリ matrix に Matrix#combine と Matrix.combine メソッドを追加しています。同じ shape の Matrix 2つの各要素についてブロックに渡して、その評価結果を要素として持つ Matrix を返す、汎用の element-wise の map 処理をするメソッドみたいです。combine っていう名称はちょっと confusing な気がしますね(Enumerable#combination があるので)。

marcandre: r60860 2017-11-20 11:18:43 +0900

標準添付ライブラリ matrix に Matrix#hadamard_product という要素毎の乗算を行うメソッドを追加しています。ここで r60859 で追加した Matrix.combine を利用しています。 https://github.com/ruby/ruby/pull/674

normal: r60861 2017-11-20 11:29:35 +0900

遅い filesystem 対応の一環で mkfifo(3) の呼び出し時にも GVL を解放するようにしています。

yui-knk: r60862 2017-11-20 15:00:04 +0900

receiver のないメソッド呼び出しの NODE、NODE_FCALL の位置情報を修正しています。引数リストまで含めるようにしているようです。