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


ruby-trunk-changes 2025-11-08

今日はバージョン 4.0 に更新した(のと IO 系のメソッドの "|" 解釈をやめた変更の)影響の対応やある条件の fstring を IO#write などに渡した時の不具合修正などがありました。

[41865bb671] Nobuyoshi Nakada 2025-11-07 12:57:24 UTC

win32/mkexports.rb で 4.0.0 になって削除された IO.foreach の引数に "|" ではじまる文字列を渡してコマンド実行する機能を使っていたので IO.popen を利用するように書き換えています。

[a2201570bd] Earlopain 2025-11-07 12:55:17 UTC

a4c051b870ac7f7b3c5482baf05600e1f6751b47 で定義を削除していた未使用の関数 rb_path_check() のヘッダの宣言を削除しています。

[201ed7541b] Nobuyoshi Nakada 2025-11-07 14:09:24 UTC

vm_dump.c で signed と unsigned の変数の比較で警告が出ていたのを抑制するためキャストを追加しています。

[a1366f21e3] Nobuyoshi Nakada 2025-11-07 14:47:16 UTC

NEWS に Kernel#open や IO.read などで "|" ではじまる引数でコマンドを実行する挙動の削除について追記しています。

[ae60b0bfd8] Nobuyoshi Nakada 2025-11-07 15:29:34 UTC

defs/gmake.mk に .WAIT というターゲットを書いていたのをサポートしていない古い make のために $(DOT_WAIT) という変数経由による参照に変更しています。

[f55421e81c] Jacob 2025-11-07 18:50:17 UTC

ZJIT で VM 命令の checkkeyword の JIT コンパイル対応を実装しています。なんだっけこの命令……と思ったのですがずいぶん前から存在する命令でキーワード引数の数をチェックしてスタックから値が取り出せるかチェックする命令? みたいです。

[4816969c28] Hiroshi SHIBATA 2025-11-06 22:12:25 UTC

bundler で require "pathname" や Kernel#autoload による自動ロードを設定しているのを Pathname が定義済みだったら抑制しています。組み込みクラスになったので不要な require をなくすため。

[9767b31090] Hiroshi SHIBATA 2025-11-06 22:14:31 UTC

bundler の他の部分でも require "pathname" を削除しています。

[2518aa9117] Hiroshi SHIBATA 2025-11-06 22:23:07 UTC

bundler のテストで一時ディレクトリの削除に Pathname#rmtree を使っていたところを fileutils の FileUtils.rm_rf を使うように書き換えています。

[110f24c47e] Hiroshi SHIBATA 2025-11-07 00:08:50 UTC

bundler のテストでも Pathname が定義済みだったら require "pathname" を抑制しています。

[a7c23b9a9f] Hiroshi SHIBATA 2025-11-07 04:16:34 UTC

bundler で Pathname.pwd を使っていたところを Dir.pwd を使うようおきかえています。

[7037d8f89e] Earlopain 2025-11-07 12:14:07 UTC

prism で ruby の文法のバージョンとして 3.5 を用意していたところを 4.0 に変更しています。

[3b588dab91] John Hawthorn 2025-11-07 20:12:25 UTC

IO#write などに渡す String オブジェクトは書き込み処理中に変更されないようにオブジェクト slot を別に確保してロックしたりしますが、必要に応じてバッファもコピーするのに fstring 化した String を渡した時にバッファを共有する複製を作ってしまって異常終了する可能性があった不具合を修正しています。 [ruby-core:123717] [Bug #21671]

[c65f8b6370] Nobuyoshi Nakada 2025-11-08 01:17:07 UTC

load.c の拡張ライブラリを load する関数 load_ext() で引数の文字列オブジェクトがコンパイラの最適化で利用中に参照がなくなって mark 漏れする可能性があったので RB_GC_GUARD() で保護しています。

[4aea392e69] Aiden Fox Ivey 2025-11-08 03:47:32 UTC

ZJIT で String#setbyte の引数が Fixnum な整数の時に直接実行コードを生成する最適化を実装しています。 https://github.com/ruby/ruby/pull/14927

[aacd9f206a] Takashi Kokubun 2025-11-08 05:55:41 UTC

GitHub Actions の Cygwin 版 workflow にエラー時の Slack 通知を追加しています。




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

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