ruby-trunk-changes r57972 - r57982

今日は matrix に Vector.zero/Vector#zero? というメソッドの追加、String#to_f の "_" にまつわる仕様の変更などがありました。

glass: r57972 2017-03-14 21:53:32 +0900

標準添付ライブラリ tempfile の Tempfile#size でファイルが空っぽの時に nil を返していたので 0 を返すように修正しています。 [ruby-core:79459] [Bug #13198]

kazu: r57973 2017-03-14 23:46:10 +0900

vm_insnhelper.c で opt_eq_func() の中でだけ使うマクロ BUILTIN_CLASS_P() を関数の後で #undef するようにしています。

mame: r57974 2017-03-15 00:14:21 +0900

test/rinda/test_rinda.rb でモジュールのトップレベルで dRuby のサーバーが起動されてたのを setup で起動して teardown で停止するようにしています。 fd leak が検出されていたみたいです。

svn: r57975 2017-03-15 00:14:22 +0900

version.h の日付更新。

marcandre: r57976 2017-03-15 05:09:30 +0900

標準添付ライブラリ matrix に全要素が 0 の Vector を作成する Vector.zero と全要素が 0 かチェックする Vector#zero? が追加されています。 [ruby-core:79503] [Feature #13208]

kazu: r57977 2017-03-15 09:59:32 +0900

IO#puts の rdoc 用コメントで INPUT_RECORD_SEPARATOR について言及しているところでグローバル変数の prefix $ がついていなかったので追記しています。

nobu: r57978 2017-03-15 16:57:11 +0900

rb_str_casecmp() や rb_str_casecmp_p() から引数の型チェックした後の処理を str_casecmp(), str_casecmp_p() という関数に切り出して sym_casecmp() や sym_casecmp_p() からはこのチェック省略版を呼ぶように最適化しています。

nobu: r57979 2017-03-15 17:15:32 +0900

String#to_f で数字のあいだに "_" が複数連続して入っていても無視していましたがリテラルと同様に? 数字の間に 1つずつ挟まるのだけ許容し、それ以外はそこで解釈をやめるようにしています。 [ruby-core:80098] [Bug #13105]

ko1: r57980 2017-03-15 17:25:58 +0900

r57676 で導入した DEBUG_COUNTER にインスタンス変数の inline cache に関する測定項目を追加/改名しています。

svn: r57981 2017-03-15 17:25:59 +0900

r57980 の行末の改行除去。

nobu: r57982 2017-03-15 21:41:56 +0900

r57980 のインデントの調整。