ruby-trunk-changes r62927 - r62934

今日は --help オプションの表示の修正や Kernel#fork した後の子プロセスでの Queue などの Thread 間協調のためのオブジェクトでエラーになることがある不具合の修正などがありました。

nobu: r62927 2018-03-27 01:25:05 +0900

ruby --help で表示するヘルプメッセージには --verbose オプションが -v と同じくバージョン番号を表示すると書かれてましたが、実際には $VERBOSE 変数を true にセットする(警告などがより多く出るようになる)という意味なので分離しています。 -v で実行した時も $VERBOSE は true にセットされますけどね。 [ruby-core:86307] [Bug #14633]

svn: r62928 2018-03-27 01:25:06 +0900

version.h の日付更新。

eregon: r62929 2018-03-27 05:48:01 +0900

mspec に upstream からマージしています。 include_any_of という Matcher が追加されています。

svn: r62930 2018-03-27 05:48:02 +0900

r62929 の新規追加ファイルの svn property 設定。

eregon: r62931 2018-03-27 05:48:21 +0900

rubyspec に upstream の変更をマージしています。

nobu: r62932 2018-03-27 09:44:34 +0900

ruby --help オプションで表示されるヘルプメッセージの --version オプションについて、バージョンを表示してから終了することを追記しています。 -v の場合はバージョンを表示した上で実行も継続するので -v と --version の動きはちょっと違うんですよね。

nobu: r62933 2018-03-27 10:09:14 +0900

configure.ac でコンパイラが文字列リテラルの連結に対応していたかった場合にエラーにするようにしています。元は NO_STRING_LITERAL_CONCATENATION というマクロを定義するようになっていましたが、もう文字列リテラル連結できないと自動生成系のコードなど動かないので。strftime.c に NO_STRING_LITERAL_CONCATENATION を参照しているところが 1箇所ありましたが、ここも定義されてたら #error でエラーにしているのでコンパイルエラーになる状態でした。

normal: r62934 2018-03-27 18:28:37 +0900

Kernel#fork 時に子プロセスで Queue, SizedQueue, ConditionVariable などの Thread の協調用のオブジェクトを初期化して子プロセスにおいていなくなった Thread の参照が残ってしまわないようにしています。 [ruby-core:86316] [Bug #14634]