ruby-trunk-changes 2020-08-14

今日は String#partition, #rpartition, #index, #rindex などの引数に後読みありの正規表現が渡された時の不具合修正などがありました。

[5d71eed1a7] Kasumi Hanazuki 2020-08-13 03:37:32 UTC

String#partition, String#rpartition の引数に正規表現で "\K" による後読みを含むものがあるとマッチ範囲を誤って判定してしまって結果がおかしくなってしまっていたのを修正しています。 String#split でも先日同様の修正がありましたが、後読み正規表現関連の修正はもうひとつありそうです。 [ruby-core:99577] [Bug #17119]

[014a4fda54] Kasumi Hanazuki 2020-08-13 02:26:09 UTC

String#index および #rindex の引数に正規表現で "\K" による後読みの指定が含まれている時に結果が間違っていた不具合を修正しています。 [ruby-core:99576] [Bug #17118]

[787cb0fd86] Nobuyoshi Nakada 2020-08-13 11:56:23 UTC

re.c で文字列オブジェクトのサイズとバッファを得るのに RSTRING_PTR() と RSTRING_LEN() を使っていたのを RSTRING_GETMEM() でまとめて変数に格納するようにしています。繰り返し呼ばれるのを抑制するようにするのと、RSTRING_PTR() や RSTRING_LEN() がマクロでなく関数として定義されるようになったので、関数の引数に直接書かれるとデバッガで step 実行する時に意図せずそちらの関数に入ってしまって面倒だった、という理由もあるようです。

[511b55bcef] AGSaidi 2020-08-13 17:15:54 UTC

ARM は alignment のとれてないアドレスにもアクセスできるということでそれを意識した最適化が有効になるように UNALIGNED_WORD_ACCESS の定義の条件に追加しています。 https://github.com/ruby/ruby/pull/3393

[cead77d809] git 2020-08-13 17:16:15 UTC

version.h の日付更新

[22fd617aa5] Burdette Lamar 2020-08-13 18:16:27 UTC

doc/dig_methods.rdoc という dig メソッドについての一般的なドキュメントのファイルを追加して、Array/Hash/Struct/OpenStruct の dig メソッドの rdoc 用コメントからこれへのリンクを追加しています。 https://github.com/ruby/ruby/pull/3416

[4318aba9c9] Yusuke Endoh 2020-08-13 23:51:14 UTC

787cb0fd868bb6de40dcc78fcc39c28a96c7d561 の変更で re.c の関数 rb_reg_quote() の変数 n に未初期化の警告が出てたそうで MAYBE_UNUSED() マクロを使った宣言を使うようにしています。

[e658040266] Nobuyoshi Nakada 2020-08-14 07:12:58 UTC

同じく 787cb0fd868bb6de40dcc78fcc39c28a96c7d561 の re.c の変更で rb_reg_quote() では文字列サイズは利用してなかったので変数 n がそもそも不要だったので RSTRING_GETMEM() はやめて RSTRING_PTR() の結果を変数に受けておくように再変更しています。

[fee1b98fde] Nobuyoshi Nakada 2020-08-14 07:33:47 UTC

doc/fiber.rdoc 内のサンプルの Scheduler の定義で fd の数値から IO オブジェクトを作る IO.for_fd のメソッド名が間違ってたのを修正しています。