ruby-trunk-changes r59675 - r59688

今日は rdoc の更新や Array#join の Encoding についての不具合修正などがありました。

nobu: r59675 2017-08-28 23:21:40 +0900

「iseq_compile_each0() から切り出し」シリーズの続き。 NODE_IF のコンパイル処理を compile_if() という関数に切り出しています。

naruse: r59676 2017-08-29 01:05:11 +0900

gc.c で定義している STACKFRAME_FOR_CALL_CFUNC というマクロ定数を 512 → 838 に増やしています。VM スタックの空きチェックの時に必要な空きサイズみたいですが FreeBSD 上で gcc8 を使ってビルドした時にこれだけないとテストがこけたみたいです。

svn: r59677 2017-08-29 01:05:11 +0900

version.h の日付更新。

nobu: r59678 2017-08-29 08:25:56 +0900

r59660 で Windows でも Thread#name= で native thread に名前を付けるようにした時に SetThreadDescription() の戻り値のエラーチェック方法が間違っていたのを修正しています。 [ruby-core:82494] [Bug #13845]

glass: r59679 2017-08-29 13:58:29 +0900

標準添付ライブラリ resolv.rb で不要になった(組込みになった) require "thread" を削除しています。

sonots: r59680 2017-08-29 15:24:31 +0900

.gitignore に run.gdb というファイルを追加しています。 make gdb で生成されるファイルみたいです。

ko1: r59681 2017-08-29 16:01:27 +0900

Binding#local_variable_get で対象のローカル変数が存在しない時の例外メッセージの文法修正。

nobu: r59682 2017-08-29 16:11:52 +0900

test/ruby/ 配下のいくつかのテストファイルで assert_separately などに渡すスクリプトをヒアドキュメントでトークンに begin;, end; を利用してエディタのハイライトを騙す手法を使うようにしています。

hsbt: r59683 2017-08-29 19:22:47 +0900

r59642 で標準添付ライブラリ csv で closed? のチェックをしてから close するようにしたところを revert しています。

nobu: r59684 2017-08-29 19:49:40 +0900

Array#join で separator の引数に String ではないオブジェクトで to_str で変換した時に、変換結果の文字列の encoding を結果に反映させるようにしています。

nobu: r59685 2017-08-29 20:35:35 +0900

r59684 の続きで Array がネストしていた時に内部の配列を再帰的に join する時に、最初の要素かどうかを判定するフラグ first を FALSE にして渡すようにしています。うーん、これそういうものなのかな。再帰的にみて最初の要素に作用させたらよさそうな気がするけど。

hsbt: r59686 2017-08-29 20:52:50 +0900

rdoc を upstream から 6.0.0-beta1 をマージしています。Major バージョンアップですね。ruby の parser の挙動の修正などがあるみたいです。

svn: r59687 2017-08-29 20:52:52 +0900

r59686 の行末の空白除去。

nobu: r59688 2017-08-29 21:13:37 +0900

r59684 と r59685 の続き、かな? Array#join で String でも Array でもないオブジェクトを Array に変換する時に rb_check_convert_type_with_id() を使っていたのを rb_check_array_type() を直接呼ぶようにしています。