ruby-trunk-changes 2023-04-16

今日は主に正規表現の実装で環境によっては誤ったメモリアクセスをする可能性があった不具合の修正などがありました。

[4dc2e5a850] Benoit Daloze 2023-04-15 14:09:04 UTC

doc/packed_data.rdoc の Array#pack や String#unpack の指示子の "C" の説明が符号つきになってたので符号なしに修正しています。

[52449b5b75] Jean Boussier 2023-03-30 14:23:14 UTC

ObjectSpace::WeakMap#delete と ObjectSpace::WeakKeyMap#delete メソッドを新規追加しています。 [ruby-core:113051] [Feature #19561]

[29e01c6f5f] Koichi Sasada 2023-04-15 18:58:57 UTC

pattern matching のテストで DidYouMean.formatter を使う前に defined?(DidYouMean) でモジュールの定義があるかチェックしていたところで DidYouMean::VERSION のみが定義されていて本体が require されていない状態になることがあったようで DidYouMean.formatter= の呼び出しまでで defined? でチェックするようにしています。

[fac814c2dc] Nobuyoshi Nakada 2023-04-16 08:45:27 UTC

regint.h で定義されている PLATFORM_GET_INC() というマクロで環境と呼び元の引数の型によっては誤ったメモリ位置を読み取ってしまう可能性があったので PLATFORM_GET_INC_ARGUMENTS_ASSERT() というマクロで不正な条件になったらコンパイルエラーになるようにしています。 [ruby-core:113266] [Bug #19602]