ruby-trunk-changes 2022-02-06

今日は make btest の並列テスト対応や AppVeyor で readline のビルドとテストを実行するようにする変更などがありました。

[603ab70961] Koichi Sasada 2022-02-04 18:10:15 UTC

make btest (bootstraptest) の実行を並列化できるようにインスタンス変数の共有をやめて Struct で設定情報や統計情報を管理するようにしています。bootstraptest/runner.rb に渡す -j オプションで並列度の指定ができるようです。common.mk などは変更されてないのでおそらく環境変数経由でオプション指定して使うのでしょう。

[3ec2ffed86] git 2022-02-05 18:06:14 UTC

version.h の日付更新

[3e6c6c74dd] Burdette Lamar 2022-02-05 20:05:27 UTC

io.c の rdoc 用コメントの主に call-seq の引数名の統一などの手直し。 https://github.com/ruby/ruby/pull/5529

[c79d2e5474] John Hawthorn 2022-01-29 14:11:10 UTC

スクリプトのトップレベルなどロード時にすぐ評価されるところで Kernel#throw で大域脱出するとそのスクリプトファイルを require した時に読み込み元で例外として rescue で捕捉されてしまって不正な例外オブジェクトとして T_IMEMO 型オブジェクトが見えてしまう可能性があったという不具合を修正しています。ただし通常の rescue だとクラスがマッチしないので捕捉されないけど === メソッドが再定義されてどんなオブジェクトにもマッチするような例外クラスが指定されてしまうと捕捉されるというのでかなり発生条件は限定的。 require_internal() で tag jump しなおす tag の種類として TAG_FATAL だけをチェックしていたのを TAG_THROW もチェックするように修正しています。うーん、これいつからだろう。当該部分のソースコードの履歴をみるとかなり前からありえそうだけど手元だと 3.0.3 でも 3.1.0 でも発生しないみたいなので rescue のほうの処理が変わったのかな。 [ruby-core:107403] [Bug #18562]

[7ce3a100f2] Nobuyoshi Nakada 2022-02-05 08:25:33 UTC

GitHub Actions の Windows 環境用 workflow や AppVeyor の設定で configure.bat や nmake のコマンドが長いので複数行表記にしています。

[2cf687fe6c] Nobuyoshi Nakada 2022-02-06 07:44:18 UTC

AppVeyor の設定で configure.bat の --without-ext のオプションに dbm, gdbm が渡されていましたが、既に標準添付からはずされているので削除しています。

[90a540e9f2] Nobuyoshi Nakada 2022-02-06 07:52:53 UTC

AppVeyor の configure.bat の --without-ext に readline を渡していたのを削除し、nmake test-all でも --exclude に readline を渡して拡張ライブラリ readline のビルドとテストを除外していたのを削除しています。