ruby-trunk-changes r57992 - r58004

今日は VM スタックオーバーフローチェックの強化や内部で生成する文字列オブジェクトの fstring 化などがありました。

stomar: r57992 2017-03-17 05:58:58 +0900

C API rb_int_parse_cstr() の rdoc 用コメントの英語の修正。

svn: r57993 2017-03-17 05:58:59 +0900

version.h の日付更新。

normal: r57994 2017-03-17 08:17:14 +0900

NEWS ファイルに String#-@ メソッドが dedupe された文字列を返すようになったことを追記しています。

normal: r57995 2017-03-17 09:55:45 +0900

Init_File() や Init_IO() で rb_default_rs や File::SEPARATOR に格納する文字列オブジェクトを fstring 化しています。

normal: r57996 2017-03-17 09:55:50 +0900

File::NULL 定数に格納する文字列も fstring を使うようにしています。

normal: r57997 2017-03-17 09:55:55 +0900

Time#strftime や String#upto でフォーマット文字列のために作る文字列オブジェクトも fstring 化しています。あいかわらず徹底してるなー。

hsbt: r57998 2017-03-17 10:29:22 +0900

rubygems の 2.6.11 をマージしています。 2.6.10 の依存関係解決の不具合を修正しているとのこと https://github.com/rubygems/rubygems/pull/1856
変更履歴はこちら https://github.com/rubygems/rubygems/blob/adfcf40502716080bd9cdfdd2e43bd4296872784/History.txt#L3 2.5 の default gem 対応も含まれているみたいですね。

svn: r57999 2017-03-17 10:29:24 +0900

r57998 の行末の空白除去。

duerst: r58000 2017-03-17 11:24:53 +0900

String#each_codepoint の rdoc 用コメントで UTF 以外の Encoding の時には単に文字毎のバイナリ値が返されることを追記しています。 [ruby-core:80194] [Bug #13321]
たぶん accidental だと思いますが r57997 の String#upto の内部文字列オブジェクトの fstring 化が revert されていますね。

nobu: r58004 2017-03-17 19:08:02 +0900

invoke_iseq_block_from_c() で VM スタックに引数を積む処理の前にスタックオーバーフローしないかのチェックをするため CHECK_VM_STACK_OVERFLOW() を呼びだして、不正アクセスする前に例外発生させるようにしています。