ruby-trunk-changes 2022-12-08

今日は主に net/protocol の不具合修正、Object Shapes のインスタンス変数を削除した時の処理の変更、RubyVM.stat に debug counters の項目も出すようにする変更、IO#path や IO.new の path キーワード引数の追加などがありました。

[37d10caa0d] Ian Ker-Seymer 2022-12-07 04:26:21 UTC

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

[554161236a] Ian Ker-Seymer 2022-12-07 05:07:46 UTC

rubygems で Rust 製の拡張ライブラリのビルド時に cargo コマンドの --locked オプションはデバッグ用ビルドの時にはつけないようにしていたのを常につけるように変更しています。

[ef50934721] Ian Ker-Seymer 2022-12-07 05:11:39 UTC

554161236a263e47f6a2590bafbf9e7b59415736 の変更の追随? で rubygems のテストでビルド時のメッセージのチェック内容を修正しています。

[88497b2167] Ian Ker-Seymer 2022-12-07 05:15:02 UTC

ef50934721e86e4e02623959ee4a27ec53864dcc の続きで rubygems のテストでメッセージのエスケープシーケンスまでチェックするのはやめて特定のキーワードが含まれているか確認するに留めるよう条件を緩めています。

[01fd1c482e] Ian Ker-Seymer 2022-12-07 05:30:01 UTC

rubygems の Rust 製拡張ライブラリのビルドのデバッグ用にビルドするテストメソッドを削除しています。

[edc7af48ac] Aaron Patterson 2022-12-06 00:48:47 UTC

Object Shapes の実装で Object#remove_instance_variable でインスタンス変数を削除した時の対応をその変数名を未使用としてマークする SHAPE_IVAR_UNDEF で埋めてそのままにするのをやめて、削除されたインスタンス変数名がなかったものとして再度 Shapes のツリーを構築しなおすようにしているようです。重そうだけど同じ変数名を remove して再度代入して……というのを繰り返すと不要に iv バッファが長くなるのでそれを嫌ってのことみたいです。remove_instance_variable ってそんなに使うのかな? まあだからこそ重い処理で再構築しても問題ないということなのかもしれませんが。

[a89d856f26] Aaron Patterson 2022-12-07 14:56:30 UTC

bundler のテスト中に puts でメッセージ出力するデバッグ用コード? が残っていたのを削除しています。

[3bb7a40160] Maxime Chevalier-Boisvert 2022-12-07 20:00:18 UTC

NEWS の YJIT についての記述の細かな修正。

[9350c2b12f] Maxime Chevalier-Boisvert 2022-12-07 20:02:45 UTC

コマンドラインオプションの --yjit-xxx が YJIT が有効化されていないビルド時に指定された時の警告に rustc のインストールを促す文言を追加。 https://github.com/ruby/ruby/pull/6873

[30c76f4d0d] Maxime Chevalier-Boisvert 2022-12-07 21:46:59 UTC

doc/yjit/yjit.md に関連論文の参照の更新/追記やコマンドラインオプションのドキュメントの更新をしています。

[a2d3f5606a] Stan Lo 2022-12-07 23:29:55 UTC

標準添付ライブラリ irbirb や jobs といった組み込みコマンドは multi-irb という拡張機能を利用しているそうで(そうだったんだ)、これを常に require するのをやめて必要になった時に require するようにしています。

[645cd94d9a] Chris Seaton 2022-12-08 01:09:30 UTC

debug_counter.c の debug counters の名前一覧の変数 debug_counter_names を export するようにして rb_debug_counter_names と改名し RubyVM.stat の返す Hash に項目追加するようにしています。 [NEWS] に追記したほうが良さそう。 https://github.com/ruby/ruby/pull/6086

[9fce6014b5] Hiroshi SHIBATA 2022-12-08 02:06:16 UTC

拡張ライブラリ psych のバージョンを 5.0.1 に更新しています。 40ee1eea76f91af9387a8d3b55c57340905db05e で 5.0.0 に変更してから ruby/ruby では変更ないけど upstream に(こちらには入らない)変更があったのかな。

[7cd0dacb0b] git 2022-12-08 02:09:25 UTC

NEWS の default gems のバージョンリストの psych のバージョンも更新しています。

[701251c576] Samuel Williams 2022-12-08 03:21:25 UTC

標準添付ライブラリ logger の gemspec ファイルの development_dependency から rdoc への依存を削除しています。

[2efaa80523] Hiroshi SHIBATA 2022-12-08 03:21:59 UTC

tool/sync_default_gems.rb で cgi の同期時に lib/cgi/escape.jar というファイルは削除するようにしています。

[7ab4820af7] Samuel Williams 2022-12-08 03:28:13 UTC

標準添付ライブラリ logger の出力先を設定する時にインスタンス変数 @filepath に設定するのは取得したファイルパスが存在する時だけにしています。

[7e121dc4a8] Akira Matsuda 2022-12-08 03:31:30 UTC

標準添付ライブラリ logger のフォーマッタで String#% のかわりに Kernel#sprintf を利用するようにしています。こちらのほうが効率的とのこと。一時的な配列オブジェクトを作らなくてすむから?

[b9d055d760] Sutou Kouhei 2022-12-08 05:11:49 UTC

拡張ライブラリ stringio のバージョンを 3.0.4 に更新しています。

[b2764752b2] git 2022-12-08 05:13:10 UTC

NEWS の default gems のバージョンリストの stringio のバージョンも更新しています。

[6fd5d2dc00] Samuel Williams 2022-12-08 05:19:53 UTC

File#path メソッドを IO#path と親クラスで定義するようにして、さらに IO.new にキーワード引数 path を追加しています。path のない IO もあると思うけどまあ Matz の approval があるので良いのでしょう。 これも [NEWS] に追記が必要そう。 https://github.com/ruby/ruby/pull/6867 [Feature #19036]

[09bc3abd2e] Takashi Kokubun 2022-12-07 07:24:19 UTC

mjit.c の check_unit_queue() に VM_ASSERT() で unit->compact_p が NULL であることをチェックするようにしています。

[3938bd1b42] Takashi Kokubun 2022-12-08 06:05:14 UTC

構造体 struct rb_mjit_unit に Windows 環境では so_file メンバーを追加していたのがもう MinGW サポートを停止して未使用になっていたので削除しています。

[a57a3154d3] Benoit Daloze 2022-12-07 16:30:05 UTC

rubygems の Gem::Platform.match というメソッドを使っていたところを Gem::Platform.match_spec? を使うよう変更しています。 Gem::Platform.match は deprecated とのこと。

[8547f61daf] Jean Boussier 2022-12-07 15:37:09 UTC

標準添付ライブラリ net/protocol のバッファ管理を 739380c97d2c6440da0d5ae07f9291b1e8cde1b2 のパフォーマンス改善のための変更時にバッファを使いまわしに部分文字列を切り出して参照するようにした実装で、返したバッファの利用のしかたについて規約を決めていたのが考慮が漏れていてエラーになるケースがあったようなので部分的に revert しています。

[6f44dc8edf] Hiroshi SHIBATA 2022-12-08 07:23:27 UTC

標準添付ライブラリ net/protocol のバージョンを 0.2.1 に更新しています。

[516fe62734] git 2022-12-08 07:24:21 UTC

NEWS の default gems のバージョンリストの net-protocol のバージョンも更新しています。