ruby-trunk-changes 2021-05-27

今日は主に標準添付ライブラリ(default gems) の matrix, prime, net/{ftp, imap, smtp, pop} などの bundled gems 化がありました。

[8fdb15fdd3] Aaron Patterson 2021-05-24 21:23:45 UTC

gc.c の push_mark_stack() で switch 文で BUILTIN_TYPE() のオブジェクト型(T_XXXX のやつ)で分岐してるところで、異常系(rb_bug() で異常終了させる)のみ case を書いて大部分を default で吸収して switch 文の後にその場合の処理を書くようにしていたのを、全ての T_XXX (?) を明示的に書くようにしています。また異常系として扱うタイプに T_NONE/T_ZOMBIE/T_UNDEF/T_MASK を追加しています。

[eae7fd0ea3] git 2021-05-26 21:22:10 UTC

version.h の日付更新

[c9178c1127] Hiroshi SHIBATA 2021-05-26 06:33:42 UTC

標準添付ライブラリ prime を削除して bundled gems として追加しています。

[454a36794f] Hiroshi SHIBATA 2021-05-26 06:36:16 UTC

標準添付ライブラリ matrix も削除して bundled gems として追加しています。

[e49c998d1e] Hiroshi SHIBATA 2021-05-26 06:44:27 UTC

標準添付ライブラリ net/ftp を削除して bundled gems に net-ftp.gem を追加しています。

[d5bc6b2337] Hiroshi SHIBATA 2021-05-26 06:48:36 UTC

標準添付ライブラリ net/imap を削除して bundled gems に net-imap.gem を追加しています。

[aa9726f7b9] Hiroshi SHIBATA 2021-05-26 06:52:29 UTC

標準添付ライブラリ net/pop を削除して bundled gems に net-pop.gem を追加しています。

[be2e2b4805] Hiroshi SHIBATA 2021-05-26 06:58:26 UTC

標準添付ライブラリ net/smtp を削除して bundled gems に net-smtp.gem を追加しています。

[9f192d42a6] Hiroshi SHIBATA 2021-05-26 09:51:52 UTC

gems/bundled_gems で rbs の upstream の指定にコミットハッシュの指定を追加しています。 rbs で prime が使われていたので、その依存を削除した変更(https://github.com/ruby/rbs/pull/679)を取り込むために gem がリリースされるまでは直接指定するようにしているのだと思います。

[b8dcad8d32] Hiroshi SHIBATA 2021-05-26 10:51:33 UTC

拡張ライブラリ openssl のテストにも標準添付ライブラリ prime を利用しているところがあったので require を実際に使うテストメソッドの定義の直前にしています。 bundled gems なので install してないと require できないかもしれないからかな。

[350bc29107] Hiroshi SHIBATA 2021-05-26 11:18:46 UTC

標準添付ライブラリ open-uri で net/ftp に依存している部分があったので require に失敗したら net-ftp インストールを促す例外を発生させるように対応しています。bundled gems だから通常は使えるのではと思ったけど Gemfile に書いてなくて bundler 経由だと使えないからか。

[835a495608] Hiroshi SHIBATA 2021-05-26 11:36:23 UTC

rubyspec の c9178c11271ccd3410c53687dd9cb2508e180a98 から be2e2b480540bcc38aaf75f1767dfff1b8199097 で標準添付ライブラリから削除したライブラリについてのテストを 3.1 以降実行しないように guard を追加しています。

[d2664b908a] Hiroshi SHIBATA 2021-05-26 22:56:01 UTC

gems/bundled_gems の rbs のバージョンを 1.2.1 に更新して 9f192d42a69b06d05a575d2df99ba605301e8cf8 の commit hash 直接指定は削除しています。

[c1c60a4498] Hiroshi SHIBATA 2021-05-27 08:14:31 UTC

tool/sync_default_gems.rb から標準添付ライブラリから消された dbm の対応部分を削除しています。

[029169bc5b] Hiroshi SHIBATA 2021-05-27 08:15:58 UTC

tool/sync_default_gems.rb の標準添付ライブラリ digest の同期処理時に ext/digest/lib ディレクトリを掘っておくのを clone した upstream repo のコピーのほうに作ろうとしてしまっていたのを ruby repo 内のほうに掘るように修正しています。