ruby-trunk-changes 2022-08-28

今日は拡張ライブラリ ripper のヒアドキュメントの扱いの修正や MJIT 有効時の rubygems のテストの不具合修正などがありました。

[381d8e43ce] Aleksandr Varnin 2022-08-24 16:09:10 UTC

bundler の Gemfile.lock に出力する文字列の余計な改行の削除。

[4de09574e0] git 2022-08-27 17:04:31 UTC

version.h の日付更新

[458d49a04a] Takashi Kokubun 2022-08-27 17:21:23 UTC

13d2225c460cfc3daa679acb89433289527a844f の続きで rubygems のテスト時のヘルパーメソッドで CI 上でディレクトリ削除を FileUtils.rm_rf を使わず rm コマンドの実行に変更しましたが Kernel#system の exception: true を指定していたのをやめてエラーを無視するようにしています。 rm コマンドでもエラーが発生するということは FileUtils.rm_rf が rm と挙動を揃えたから発生するようになったってことなので FileUtils.rm_rf の例外を無視するのと同等っぽいですね。

[95d2d7920c] Takashi Kokubun 2022-08-27 19:05:41 UTC

13d2225c460cfc3daa679acb89433289527a844f および 458d49a04ab7ce8a61be11fbaf341ee252b8253a の続きで rubygems のテストのヘルパーメソッドで CI の時に rm コマンドを実行するようにしてたのをやっぱり FileUtils.rm_rf を利用するように戻して、その前後で MJIT が有効な場合に RubyVM::MJIT.pause/RubyVM::MJIT.resume で MJIT の worker を止めるようにしています。

[a797ded8e2] spaette 2022-08-27 21:09:55 UTC

ヘッダのコメントの typo 修正。

[83375f47e1] Takashi Kokubun 2022-08-27 21:48:10 UTC

a797ded8e2637de91dd4dd5b54bed515f6cda08atypo 修正でピリオドだけ行頭に残るような変更があったので直前の単語から改行するようにしています。

[111b69e8a0] Takashi Kokubun 2022-08-27 22:47:18 UTC

95d2d7920c97d0502ebed4ba439177325ad05e57rubygems のテスト用ヘルパーメソッドで FileUtils.rm_rf 前に MJIT の worker を止めるための RubyVM::MJIT.pause の呼び出しでキーワード引数 wait: false を渡しています。タイムアウトを避けるためとのことですがこれ止まるのを待たなくてもファイル削除は大丈夫なんでしょうか。

[ace2eee544] Nobuyoshi Nakada 2022-08-28 00:29:24 UTC

チケットの例をみてもちょっと何が起きているのかよくわからないのですが、ヒアドキュメントの終端トークンが文字列リテラル内に含まれていた時の扱いが拡張ライブラリ ripper で誤っていたのを修正しているようです。というかこの場合終端トークンは文字列リテラルの内容じゃなくて終端トークンとして扱われる(そっちのほうが優先される)んですね。うーむ。 [ruby-core:109476] [Bug #18963]

[1d83302f32] Nobuyoshi Nakada 2022-08-28 04:54:14 UTC

win32/Makefile.sub でなにもしないコマンドとして NULLCMD 変数に格納しているコマンドを type nul から exit /b0. に変更しています。もしコマンドに引数が渡された時にそれを無視するためには exit のほうが良いからということだそうです。

[1486ffe039] Felix Yan 2022-08-28 07:27:11 UTC

ractor.rb の先頭のコメントの英文法修正。