ruby-trunk-changes r67347 - r67359

今日は標準添付ライブラリ erb の ERB のインスタンスの Marshal.dump を禁止する変更などがありました。
久しぶりに nobu のコミットがありますね。

k0kubun: r67347 2019-03-27 22:15:02 +0900

.travis.yml に Travis CI の macOS での並列ビルド時の "Permission denied" のエラー調査のためエラーになった時に特定のディレクトリの mode を ls コマンドで表示するようにしています。

k0kubun: r67348 2019-03-27 22:31:36 +0900

rubyspec の File.open に fd を指定した時のテストが MJIT 有効時に mjit worker に fd が leak して閉じられなくなることがあるせいでたまに通らないので MJIT 有効時には skip するようにしています。

kazu: r67349 2019-03-28 08:56:14 +0900

TracePoint#enable, TracePoint#disable の例外時のメッセージの typo 修正。 rubyspec でメッセージもチェックしてたので新旧どちらも受け付けるように正規表現に手を加えています。

svn: r67350 2019-03-28 08:56:17 +0900

version.h の日付更新。

nobu: r67354 2019-03-28 12:33:35 +0900

組み込みクラスなどの rdoc 用コメントで cross reference が効くものを明示的な markup しないようにする修正。

nobu: r67355 2019-03-28 12:33:36 +0900

Module#constants と Module#remove_method の rdoc 用コメントで参照してる他のメソッドが誤って特異メソッドの記法になっていたのを修正しています。

nobu: r67356 2019-03-28 12:46:48 +0900

標準添付ライブラリ erb でクラス ERB のインスタンス変数にわざと特異クラスへの参照を追加して、Marshal.dump で serialize されないようにしています。理由はよくわかりませんが、dump されたものを load して使われるとまずいみたいで、ERB#result でもこのインスタンス変数をチェックして initialize が通ってなかったら ArgumentError にするようにしています。

nobu: r67357 2019-03-28 17:39:24 +0900

標準添付ライブラリ rdoc のコメント内の C のソースのサンプルの typo 修正。

nobu: r67358 2019-03-28 19:19:08 +0900

parse.y で SyntaxError 時に r67249 で導入した RUBY_INIT_YYLLOC() と compile_error(), parser_show_error_line() を利用したエラーメッセージ構築をするようにリファクタリングしています。

k0kubun: r67359 2019-03-28 20:50:19 +0900

r67356 の ERB のインタンスを Marshal.dump できないようにした変更について NEWS に追記しています。