ruby-trunk-changes r59455 - r59459

今日は Object#clone と RGenGC 絡みの不具合の修正などがありました。

kazu: r59455 2017-08-01 09:19:10 +0900

test/net/http/test_http.rb で nil guard として if 分岐を使っていたところを &. 演算子を利用するようにリファクタリングしています。

svn: r59456 2017-08-01 09:19:10 +0900

version.h の日付更新。

ko1: r59457 2017-08-01 11:10:19 +0900

オブジェクトの複製を行う rb_clone_setup() で struct RBasic::flags の FL_PROMOTED0、FL_PROMOTED1、FL_FINALIZE などの RGenGC と finalizer 用の(?)フラグはコピーしないように修正しています。 [ruby-core:82202] [Bug #13775]

nobu: r59458 2017-08-01 17:32:18 +0900

parse.y で識別子(identifier)の tokenizer parse_ident() でトークンの種別を判定するのに後で if 文で分岐しなおしていたのをやめて、その前の分岐の中に含めるようにリファクタリングしています。

nobu: r59459 2017-08-01 20:59:45 +0900

ruby 本体のテスト用のライブラリ test/unit の AllFailures#message の文字列を埋め込む各メッセージの encoding に force_encoding するようにしています。これ最後に Array#join で連結する時に結局 Encoding::CompatibilityError になったりしないのかな。