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


ruby-trunk-changes 2025-06-03

今日は主に RubyVM::InstructionSequence#to_binary の不具合修正、bundler のリファクタリング、Ractor の仕様変更による default gems のテストの更新を古い ruby でも動作するようにする対応などがありました。

[ff222ac27a] Jean Boussier 2025-05-24 08:02:35 UTC

暗黙のブロックパラメーター it を含んだスクリプトの RubyVM::InstructionSequence#to_binary でのバイナリダンプで異常終了する不具合を修正しています。 [ruby-core:122274] [Bug #21370]

[cfe17520ba] Nobuyoshi Nakada 2025-06-01 10:52:46 UTC

doc/windows.md に win32/vsdevcmd.bat による環境変数セットアップの手順について追記しています。

[acc273a8a4] Peter Zhu 2025-05-30 14:40:58 UTC

GC の default 実装で internal/object.h ヘッダへの依存をなくすため RBASIC_RESET_FLAGS() マクロの利用をやめて直接 flags メンバーにアクセスするようにしています。

[cbd49ecbbe] Peter Zhu 2025-05-30 14:41:35 UTC

acc273a8a44f2238ad2d74c95ca00c91ab2047f3 で不要になった RBASIC_RESET_FLAGS() マクロを削除しています。うーむ、なるほど……。

[e9fd44dd72] Jean Boussier 2025-05-19 10:38:49 UTC

Object Shapes で新たな shape の shape_id を採番する処理で複数 Ractor 利用時の VM lock 取得が重いので RUBY_ATOMIC_PTR_LOAD() や RUBY_ATOMIC_FETCH_ADD() を利用した lock free な実装に変更しています。

[db2cfebff1] Jean Boussier 2025-06-02 12:45:02 UTC

Object Shapes の管理テーブルの mark 処理で rb_shape_t::edges のメンバーを GC.compact で移動できないよう pin-down するようにしています。

[e596cf6e93] John Hawthorn 2025-05-28 17:11:58 UTC

VM の命令で行う処理を実装するための内部的なオブジェクトである VmFrozenCore のクラスを T_ICLASS から通常の T_CLASS に変更しています。 internal_object_p() で内部的オブジェクトかの判定のために設定してたみたいですが直接 rb_mRubyVMFrozenCore のオブジェクトの場合を例外として判定するようにしています。

[685c8ca9af] Peter Zhu 2025-06-02 15:51:03 UTC

RubyVM::InstructionSequence#to_binary のテストで iseq_to_binary というヘルパーメソッドを使っていたのをやめています。ここのテストは assert_no_memory_leak という assertion メソッドを使っているため子プロセスを起動して実行しているためヘルパーメソッドが定義されていないためかな。

[d6aa1714fe] Andrew Konchin 2025-06-02 16:34:54 UTC

rubyspec に upstream から最新版をマージしています。

[a763716a96] John Bampton 2025-05-28 19:30:38 UTC

rubygems のメソッド名のスペルを修正する改名。

[869a52f33a] Nicholas La Roux 2025-04-18 10:21:33 UTC

bundler の platform の mingw 関連のサポートの変更?

[1f894fa2cc] Nicholas La Roux 2025-05-30 10:59:54 UTC

bundler の platform の mingw 関連のサポートの変更に追随したテストの修正。

[f4a5247ce4] Matthew Hively 2025-05-22 18:06:18 UTC

bundler の man ページの更新。

[21a14ea230] Matthew Hively 2025-05-22 19:26:31 UTC

bundler の bundle config の man ページの更新。

[b34959b497] TangRufus 2025-05-30 00:07:18 UTC

bundler のテストの spec 名の変更。

[04a396409d] TangRufus 2025-05-30 00:49:44 UTC

bundler の bundle gem でプロジェクト生成する時の gemspec ファイルの spec.files に含めないようにするファイルを指定する処理のリファクタリング

[a7be563d0b] TangRufus 2025-05-30 01:08:54 UTC

bundler の 04a396409d19ed1ae40a663663bf3108c3ac844f の変更の続き。.rubocop.yml と .standard.yml も無視ファイルリストに追加。

[6b2088cf90] TangRufus 2025-05-30 01:35:19 UTC

bundler の 04a396409d19ed1ae40a663663bf3108c3ac844f の変更の続き。.rspec も無視ファイルリストに追加。

[63ae1d289a] TangRufus 2025-05-30 01:52:56 UTC

bundler の 04a396409d19ed1ae40a663663bf3108c3ac844f の変更の続き。features/ を無視ファイルリストから外しています。デフォルトで存在しないからかな?

[636ff31c4e] TangRufus 2025-05-30 01:55:14 UTC

bundler の 04a396409d19ed1ae40a663663bf3108c3ac844f の変更の続き。無視ファイルリストに lockfile 系と .gitignore を追加しています。

[2667df27e9] TangRufus 2025-05-30 07:58:27 UTC

bundler の 04a396409d19ed1ae40a663663bf3108c3ac844f の変更の続き。無視ファイルリストから .git を削っています。

[6f4eaa100f] David Rodríguez 2025-05-30 10:07:59 UTC

bundler のテストで利用される rake のテストでチェックするバージョン番号を固定で定義していたのをテスト用にインストールされている gem のファイル名からバージョンを切り出すようにしています。

[52d85c0efb] Hiroshi SHIBATA 2025-06-03 06:43:32 UTC

拡張ライブラリ date の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[9991edcc41] Hiroshi SHIBATA 2025-06-03 06:52:40 UTC

拡張ライブラリ digest の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[17401792fa] Hiroshi SHIBATA 2025-06-03 06:57:06 UTC

拡張ライブラリ etc の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[c6c51569cb] Hiroshi SHIBATA 2025-06-03 06:59:25 UTC

拡張ライブラリ io/console の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[7d1190059f] Hiroshi SHIBATA 2025-06-03 07:44:29 UTC

拡張ライブラリ stringio の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[a77ec9a22c] Hiroshi SHIBATA 2025-06-03 07:06:58 UTC

拡張ライブラリ psych の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[0266e4def2] Hiroshi SHIBATA 2025-06-03 06:51:26 UTC

標準添付ライブラリ did_you_mean の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[ce459c1df3] Hiroshi SHIBATA 2025-06-03 07:09:52 UTC

拡張ライブラリ date のテストで JRuby で失敗するものを skip するようにしています。

[6609ba0514] Hiroshi SHIBATA 2025-06-03 07:00:58 UTC

拡張ライブラリ io/wait の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[a79e9ab390] Hiroshi SHIBATA 2025-06-03 07:55:28 UTC

標準添付ライブラリ uri の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[8ab4935ddf] Hiroshi SHIBATA 2025-06-03 07:01:59 UTC

拡張ライブラリ pathname の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[267d8a04b3] Hiroshi SHIBATA 2025-06-03 07:44:03 UTC

拡張ライブラリ strscan の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[d609a23115] Jean Boussier 2025-06-03 06:41:53 UTC

拡張ライブラリ json の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[365d5b6bf4] Hiroshi SHIBATA 2025-06-03 07:41:19 UTC

標準添付ライブラリ time の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor#take メソッドが削除された時に Ractor#value を使うように変更されたのが古い ruby でテストする時に動かなくなってしまっていたので、Ractor#value を #take の alias として定義しなおすように対応しています。

[135583e37c] Hiroshi SHIBATA 2025-06-03 07:49:10 UTC

標準添付ライブラリ tmpdir の Ractor 対応のテストで ef2bb61018cd9ccb5b61a3d91911e04a773da4a7 で Ractor.yield や Ractor#take がなくなったのでテストを書き直していましたがこれが古い ruby で動かないので古いバージョンも残すようにしています。




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

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