ruby-trunk-changes 2019-12-01

今日は did_you_mean の標準添付ライブラリ化、 ENV.update の不具合修正などがありました。

[5e0479f26a] Nobuyoshi Nakada 2019-10-01 03:23:25 UTC

ENV.update にブロックを渡した時に元の環境変数が存在するもののみブロックが呼ばれるように修正しています。 [ruby-core:95161] [Bug #16192]

[93a512414c] git 2019-11-30 17:18:45 UTC

version.h の日付更新

[ab8345271e] Benoit Daloze 2019-11-30 20:26:49 UTC

ruby/mspec を upstream からマージしています。

[1243255c3a] Benoit Daloze 2019-11-30 20:26:52 UTC

ruby/spec を upstream からマージしています。

[5b1f7f26b4] Takashi Kokubun 2019-11-30 21:29:00 UTC

rubyspec の Process.times のテストで Process.clock_gettime(:GETRUSAGE_BASED_CLOCK_PROCESS_CPUTIME_ID) を使って必要な精度が得られないことがわかったら skip するようにしています。

[fa0f3eff22] David Rodríguez 2019-11-30 13:01:18 UTC

tool/lib/test/unit/core_assertions.rb で使われてた exception_details というメソッドを flunk に変更しています。 fileutils のテスト失敗のため。

[a2fc6a51dd] David Rodríguez 2019-11-30 13:03:12 UTC

同じく fileutils のテスト失敗の対応で tool/lib/test/unit/core_assertions.rb で Exception#full_message を使ってたところを 2.5.0 以前だとこのメソッドがまだないのでただの message で代替するようにしています。

[171803d5d3] Kevin Deisz 2019-10-29 14:08:37 UTC

did_you_mean.gem を bundled gem から default gem として標準添付に追加しています。 標準添付ライブラリの追加なんて何年振りでしょうねぇ。

[0fef526606] Yuki Nishijima 2019-11-30 02:40:07 UTC

gem_prelude.rb で did_you_mean をロードするのに gem メソッドの呼び出しをしてたのを省略して直接 require を呼ぶようにしています。よくわかりませんがこれがあったために一部の環境では起動に失敗していたそうです。 [ruby-core:96029] [Bug #16382]

[23d7f4c5e1] git 2019-12-01 02:08:39 UTC

171803d5d34feb1b4244ca81b9db0a7bc2171c85 の行末の空白除去。

[56faa13a1c] Koichi Sasada 2019-12-01 03:24:50 UTC

23d7f4c5e1ce164e78d77de694dccc0c41f6de3d で空白を削除したのが例外メッセージと比較するためのヒアドキュメント部分だったため削っちゃいけなかったみたいですが、比較する例外メッセージ側で空白を削ることで対応しています。

[cc7455dd1e] Yuki Nishijima 2019-12-01 03:29:02 UTC

ですが 56faa13a1c5261a0d046a4c0203e88fccfafae17 は revert して assert_match でチェックを緩めることで対処しています。

[9914d6e992] Yuki Nishijima 2019-12-01 04:26:09 UTC

[Feature #8649] のテストで追加したテストの KeyError 例外メッセージのチェックを緩めています。

[bdc62dfc8e] Nobuyoshi Nakada 2019-12-01 05:38:33 UTC

rubyspec の C API テスト用拡張ライブラリの変数の型を修正。

[a19d625e66] Takashi Kokubun 2019-12-01 08:56:27 UTC

コマンドラインオプションの --jit-debug に JIT コンパイル時のオプションを指定する機能を追加しています。 "This is a secret feature for me." とのことで特に詳細は秘す(読むのが面倒なわけではない)。

[3e2753ad2e] Takashi Kokubun 2019-12-01 09:25:54 UTC

a19d625e667024fe27dcee04dd748e914bc24762 で追加したテストで子プロセス起動時に MJIT_SEARCH_BUILD_DIR という環境変数を指定するようにしています。 GitHub Actions での失敗対策のようです。

[8a677a6e80] Takashi Kokubun 2019-12-01 09:35:30 UTC

同じく a19d625e667024fe27dcee04dd748e914bc24762 の追加修正で mswin 版 で strndup() がなくてビルド失敗したので代替の関数 ruby_strndup() を定義してこちらを利用するようにしています。

[91af5542b5] Takashi Kokubun 2019-12-01 10:00:08 UTC

同じく a19d625e667024fe27dcee04dd748e914bc24762 の再修正でフラグの内容を parse する関数 split_flags() で配列サイズに番兵とする NULL を入れる要素ぶんの考慮を忘れていたのを修正しています。

[cb760f36aa] Nobuyoshi Nakada 2019-12-01 10:29:04 UTC

a19d625e667024fe27dcee04dd748e914bc24762 および 8a677a6e80b3b7e1f52073b362083a78eb87397f で追加した split_flags() と ruby_strndup() の引数に const 修飾子を追加。