以下の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20250103より取得しました。


ruby-trunk-changes 2025-01-03

今日は主に内部的に利用している darray の実装に GC を起動しないメモリ確保やオーバーフローチェックつきの API の追加や、正規表現リテラル内に文字列を式展開で埋め込んだ時の実装の変更と不具合修正などがありました。

[f1096c6ad4] Stan Lo 2025-01-02 14:32:28 UTC

tool/sync_default_gems.rb で irb の同期時にドキュメントのファイルを doc/irb/ にコピーするのをやめて、同期済みの doc/irb/ 配下のファイルを削除しています。 https://github.com/ruby/ruby/pull/12325 https://github.com/ruby/ruby/pull/12416

[f9cd9a1b55] Peter Zhu 2024-12-24 20:13:27 UTC

24a740796050b72aa2d35339ba2a317d4eda7b75 で darray の rb_darray_make_without_gc() や rb_darray_append_without_gc() といった API を削除していたのを revert しています。公開 C API ではないですがここから続く変更でこの API 群を利用するようにしているようです。

[b8c4af24f9] Peter Zhu 2024-12-24 20:30:48 UTC

GC の default 実装の heap_page_allocate() で rb_darray_insert() のかわりに rb_darray_insert_without_gc() を利用するようにしています。GC の処理中に GC を発生させるのを避けるため。

[99ff0224a5] Peter Zhu 2024-12-24 22:46:43 UTC

gc.c の size_add_overflow() という関数を rbimmpl_size_add_overflow() と改名して memory.h ヘッダの inline 関数として定義を移動しています。

[2e3b2d5eb2] Peter Zhu 2024-12-24 22:50:51 UTC

darray の API rb_darray_calloc_mul_add_without_gc() で size_t の乗算と加算に overflow チェックつきの rbimpl_size_add_or_raise() と rbimpl_size_mul_or_raise() をそれぞれ利用するようにしています。

[e596516182] Peter Zhu 2024-12-24 22:51:14 UTC

darray.h に rb_darray_calloc_mul_add() という inline 関数の定義を追加しています。

[bd70534e97] Peter Zhu 2024-12-24 22:52:32 UTC

darray.h の rb_darray_realloc_mul_add_without_gc() でも size_t の乗算と加算に rbimpl_size_mul_or_raise() と rbimpl_size_add_or_raise() を利用して overflow チェックするようにしています。

[d67d1530a8] Peter Zhu 2024-12-24 22:59:32 UTC

darray.h に rb_darray_realloc_mul_add() という inline 関数を新規追加しています。

[0be06552a8] "dependabot[bot]" 2024-12-30 16:04:51 UTC

rubygems の Rust 製拡張ライブラリを含む gem のテストのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[a7383fc7f4] sodacris 2024-12-04 12:41:35 UTC

bundler のテストで shell に依存していて Windows で skip していたものを Windows 対応しています。

[7bf1612c87] sodacris 2024-12-04 10:25:35 UTC

bundler のテストの Windows 対応。

[3b519975d1] sodacris 2024-12-04 12:41:53 UTC

bundler のテストの不要な chmod の削除。

[c8eaad1804] mark-young-atg 2025-01-02 23:21:20 UTC

拡張ライブラリ stringio の gemspec ファイルの spec.metadata["changelog_uri"] の設定を追加しています。 https://github.com/ruby/stringio/pull/111

[77fe82286b] Nobuyoshi Nakada 2025-01-01 08:47:27 UTC

正規表現のテストで all_assertions_foreach というユーティリティメソッドを利用するようにリファクタリング

[6bbb470dc7] Nobuyoshi Nakada 2025-01-03 01:25:15 UTC

正規表現リテラル内に式展開で文字列リテラルが書かれている時の連結を AST への parse 時に行っていたのを VM 命令列(ISeq)へのコンパイル時に行うようにしています。これにより正規表現内の不正なバイト列が埋め込まれた時の不具合の修正になっているようです。 [ruby-core:117990] [Bug #20504]

[1adf4b1007] "dependabot[bot]" 2025-01-03 02:42:27 UTC

GitHub Actions の独自アクションで利用している gacts/run-and-post-run アクションのバージョンを更新しています。

[fb73be1f2a] Nobuyoshi Nakada 2025-01-03 02:29:29 UTC

Fiber 用 coroutine の win32/win64 版の実装のヘッダファイルに COROUTINE_DECL マクロの定義を追加しています。警告の抑制のため。

[23018c2fb4] tomoya ishida 2025-01-03 11:13:52 UTC

標準添付ライブラリ rdoc で prism を利用した parser? において親クラスの指定つきのクラス定義 class C < P のような文で親クラスのほうを先に解釈するように修正しています。同じ定数名を使った時に順序に意味があるということみたいです。なるほど親クラスな名前空間の外側の定数に解決されて、class 文でその時点の名前空間に新しく同名の定数を追加するというのが従来の挙動ということですね。 https://github.com/ruby/rdoc/pull/1267

[0643f08187] ydah 2025-01-03 10:51:58 UTC

AST の NODE_IF 型の NODE の位置情報に if, then, end などのキーワードの位置情報を追加しています。




以上の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20250103より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14