ruby-trunk-changes 2022-05-06

今日は Module#prepend の潜在的GC で改修された領域を参照する可能性があった不具合の修正などがありました。

[ac75c710cc] Burdette Lamar 2022-05-05 14:01:12 UTC

Kernel#sprintf の rdoc 用コメントの内容を doc/format_specifications.rdoc へのリンクにおきかえています。また IO#printf の rdoc 用コメントからも doc/format_specifications.rdoc にリンクするようにしています。 https://github.com/ruby/ruby/pull/5886

[ae96ef9cfb] Burdette Lamar 2022-05-05 20:02:54 UTC

File の特異メソッドの rdoc 用コメントにサンプルを追記しています。 https://github.com/ruby/ruby/pull/5888

[4acafdf632] git 2022-05-05 20:03:10 UTC

version.h の日付更新

[7448afccb3] Alan Wu 2022-05-05 20:08:24 UTC

Module#prepend の実装で rb_subclass_entry_t の linked list を辿って include 処理してる途中で GC が走る可能性のある処理が行なわれるため一度 rb_objspace_garbage_object_p() でチェックした後で rb_subclass_entry_t の構造体のメモリ領域が解放されている可能性があるので、rb_subclass_entry_t::klass の内容を変数に格納しておいてそれを参照するようにしています。

[cae85c528c] Alan Wu 2022-05-05 20:30:56 UTC

4d8f76286beefbb8f7fba2479f6d0a0b4a47304c で rb_obj_is_kind_of() に T_ICLASS のための高速化を追加した時に T_ICLASS 型オブジェクトの mark 時に rb_classext_t::includer メンバーも mark するようにしておくべきだったので修正しています。

[7d6de74abe] nobuyo 2022-05-04 08:48:31 UTC

bundler の man page の更新。 bundle add サブコマンドに -r オプションの説明を追記しています。

[d79e0832a5] Dominik Bauernfeind 2022-05-04 09:16:05 UTC

bundler のコメントの typo 修正。

[67950a4c0a] Kazuhiro NISHIYAMA 2022-05-06 09:13:22 UTC

File.blockdev? の rdoc 用コメントのサンプルの閉じかっこの漏れを修正。