ruby-trunk-changes 2022-04-17

今日は主に Class の継承関係の判定の高速化のための実装が Class を dup した時にうまく動いていなかった不具合修正などがありました。

[9a20bcd5c8] David Rodríguez 2022-04-16 11:52:40 UTC

rubygems の Gem::Installer#spec で Gem::Package::Error を捕捉して Gem::InstallError を投げなおしていた rescue 節を削除しています。不要だと思うとのこと。

[e70e7f4ad3] David Rodríguez 2022-04-16 11:53:11 UTC

rubygems のテストで setup_base_installer で作成された? ディレクトリの一部のサブディレクトリを削除するのに FileUtils.rm_f を使っていたため削除できていなかったので FileUtils.rm_rf を使うように修正しています。またこれにより削除するディレクトリの指定が誤っていたのも発覚したそうなのでそれも修正しています。

[7950c4eb2d] John Hawthorn 2022-04-15 22:21:10 UTC

Class/Module を dup で複製した時に rb_class_update_superclasses() を呼び出して継承関係判定の高速化のために導入した親クラス群の配列を更新するようにしています。

[bde06ce33a] git 2022-04-16 18:41:12 UTC

version.h の日付更新

[2b4b513ef0] Burdette Lamar 2022-04-16 20:20:03 UTC

Regexp クラスのいくつかのメソッドの rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/5812

[2c6876f811] Nobuyoshi Nakada 2022-04-17 09:53:29 UTC

拡張ライブラリ objspace の ObjectSpace.count_imemo_objects の実装でカウンタ用の配列の初期化に局所的に INIT_IMEMO_TYPE_ID() というマクロを定義して imemo_xxx という定数を配列の添字に使ってマジックナンバーが書かれてたのを避けるようにしています。

[be52c72889] Nobuyoshi Nakada 2022-04-17 09:57:26 UTC

2c6876f811a3c08e69816861127458b967900bcd で定義した INIT_IMEMO_TYPE_ID() で rb_intern() を呼んでいたのを rb_intern_const() を呼ぶように最適化しています。

[50f3e93c80] Kazuhiro NISHIYAMA 2022-04-17 11:57:31 UTC

rubyspec の String#to_sym と Encoding の関係についての spec の名前の typo 修正。