ruby-trunk-changes r67091 - r67104

今日は昨日の File.birthtime のサポートのための statx(2) への対応の追随や追加対応などがありました。

k0kubun: r67091 2019-02-20 00:39:35 +0900

VM 命令の opt_regexpmatch2 で命令内からメソッド呼び出しがあるかどうかの leaf フラグを false にしています。 rb_thread_check_ints() を呼び出して割り込みされる可能性があったそうです。

svn: r67092 2019-02-20 00:39:37 +0900

version.h の日付更新。

nobu: r67093 2019-02-20 13:02:30 +0900

r67088 の続き? で statx(2) がないけど __NR_statx があったら syscall() を使って statx() の代替を定義して使うようにしています。

ko1: r67094 2019-02-20 13:27:24 +0900

r67093 はテストが失敗するとのことで revert しています。

marcandre: r67095 2019-02-20 13:39:56 +0900

rubyspec の Enumerator::Chain#rewind のテストで and_yield に引数を渡してましたが実際のブロックがブロックパラメーターを受け取ってないので? arity 不一致になるので引数をなしにしています。 2.6.1 でエラーになってたそうです。 [ruby-core:91600] [Bug #15613]

svn: r67096 2019-02-20 13:39:57 +0900

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

nobu: r67097 2019-02-20 15:54:23 +0900

r67093 のリトライで statx(2) がない時に __NR_statx を使って statx() の代替を定義するようにしています。 configure 時のチェック強化と rb_file_s_birthtime() の static を外して export して拡張ライブラリ pathname で birthtime がサポートされてるかどうかの判定に使うようにしています。

kazu: r67098 2019-02-20 16:19:39 +0900

IO#autoclose= が IO オブジェクト自身(self)を返してたので右辺値を返すように修正しています。また IO#autoclose= の rdoc 用コメントのサンプルで発生する(またはしない)例外のクラス名を修正しています。

ko1: r67099 2019-02-20 16:34:05 +0900

r67097 の statx() の代替実装で戻り値に明示的なキャストを追加しています。

ko1: r67100 2019-02-20 16:46:15 +0900

rubyspec の File.birthtime のテストが通らなくなったということで一旦コメントアウトしています。

nobu: r67101 2019-02-20 17:09:32 +0900

r67100 でコメントアウトした File.birthtime のテストですが Linux でも動くようになったのに NotImplementedError が発生することを期待するテストをしていたので platform_is から :linux を外しています。

nobu: r67102 2019-02-20 17:31:17 +0900

拡張ライブラリ pathname のテストで Pathname#birthtime がコンテナ内の環境だと Errno::EPERM を発生させるということで rescue を追加して skip するようにしています。

nobu: r67103 2019-02-20 18:55:25 +0900

r67102 と同じく拡張ライブラリ pathname のテストで Pathname#birthname が NotImplementedError になったら File.birthname も同じく NotImplementedError になるよね、というのを確認していた assertion ですが、なぜか Errno::EPERM になることがあるということでコメントアウトしています。

hsbt: r67104 2019-02-20 19:43:23 +0900

spec/bundler のテストの主にインデントの修正。 bundler の upstream の rubycop の設定に合わせるためだそうです。