ruby-trunk-changes r59443 - r59449

今日は Refinements で可視性を変更した時の不具合修正などがありました。

nobu: r59443 2017-07-29 21:11:51 +0900

mkfifo(3) が利用可能な時に File.mkfifo が実装するための #if HAVE_MKFIFO の分岐を rdoc 用コメントの前から分岐して、File.mkfifo のドキュメントが生成されるようにしています。

nobu: r59444 2017-07-29 21:42:41 +0900

vm_insnhelper.c のインデント修正。

nobu: r59445 2017-07-29 21:42:42 +0900

Refinements でメソッドの可視性を変更する Module が定義されているものの、それが using で適用されていない箇所でもその影響を受けてしまっていた不具合を修正しています。 [ruby-core:82209] [Bug #13776]

nobu: r59446 2017-07-30 09:40:43 +0900

命令列 ISeq へのコンパイル時に複数のパスでの VM Stack の消費量を調節するためのロジックを修正しています。差が 1 だけの時は pop 命令を追加して調節するようにして命令数ができるだけ少なくなるようにしています。

svn: r59447 2017-07-30 09:40:44 +0900

version.h の日付更新。

nobu: r59448 2017-07-30 11:56:29 +0900

rb_external_str_new_with_enc() から String オブジェクトのバッファと Encoding の初期化を行う処理を rb_str_initialize() という関数に切り出しています。

nobu: r59449 2017-07-30 11:56:30 +0900

環境変数 ENV のキー(環境変数名)の文字列を生成する env_enc_str_new() で Windows 環境でエンコーディングを変換する処理の env_str_transcode() という関数の呼び出しを展開して、UTF-8 の中間文字列オブジェクトを生成せずに直接生成するように変更しています。