ruby-trunk-changes r59724 - r59732

今日は r59698 の String#grapheme_clusters などのメソッドを Unicode 系でない encoding の文字列に対して呼んだ時の結果の修正などがありました。

mame: r59724 2017-09-02 22:55:12 +0900

拡張ライブラリ coverage のテストで子プロセスを起動して行うようにしています。ruby のテスト自体を coverage を有効にして実行する時に途中で off にされてしまうのを避けるためみたいです。

nobu: r59725 2017-09-03 09:02:23 +0900

r59724 の coverage のテストの変更で一時ディレクトリのパスを Dir.pwd を使って symbolic link を解決したものを利用するようにしています。

svn: r59726 2017-09-03 09:02:24 +0900

version.h の日付更新。

nobu: r59727 2017-09-03 09:13:15 +0900

r59724 の追加修正で coverage のテストで子プロセス起動時のオプションに -W0 を指定して警告を抑制するようにしています。

nobu: r59728 2017-09-03 09:25:01 +0900

test/ruby/test_io.rb でメソッドの引数にかっこなしで前置の -@ メソッドつきの引数が渡されていたのが -w オプションをつけた時に警告が出るので、メソッド呼び出しのかっこをつけるように修正しています。

nobu: r59729 2017-09-03 09:32:27 +0900

spec/default.mspec で RUBYOPT 環境変数から -w オプションを削って警告を抑制するようにしています。

nobu: r59730 2017-09-03 09:39:23 +0900

r59698 で追加された rb_str_enumerate_grapheme_clusters() で未使用の可能性のある(少なくとも古い gcc でそのように警告されてしまう)変数に MAYBE_UNUSED() マクロを利用しています。

nobu: r59731 2017-09-03 10:47:19 +0900

rb_str_enumerate_grapheme_clusters() で文字列の encoding が Unicode 系ではなかった時に rb_str_enumerate_codepoints() を呼んでいたのを rb_str_enumerate_chars() に変更しています。 codepoint だと数値を返してしまうので、各 encoding における文字単位に分解するようにしています。 [ruby-core:82233] [Feature #13780]

nobu: r59732 2017-09-03 11:08:55 +0900

string.c の rb_str_enumerate_xxx() でブロック渡しが期待されていない時の警告の出力などを enumerator_wantarray() という関数に切り出すリファクタリング