ruby-trunk-changes 2024-04-23

今日は主に YJIT の不具合修正、正規表現の不具合修正、parse.y の CRuby 依存を減らす変更などがありました。

また今日は脆弱性修正を含む CRuby の安定版の各バージョンのリリースがありました。利用しているバージョンの更新をお願いします。

https://www.ruby-lang.org/en/news/

[1bb7638e7a] Alan Wu 2024-04-22 15:16:46 UTC

YJIT でコード生成時に最適化でコードを消し過ぎてコード書き替え? に必要な場所がなくなってしまうので余白を残すようにしているみたいです。 https://github.com/ruby/ruby/pull/10585

[aeb08bc8a7] Alan Wu 2024-04-22 18:33:34 UTC

YJIT での String#setbyte の不具合修正のためみたいですが修正箇所は object.c の rb_to_integer_with_id_exception() という関数で cfp のバックアップとエラー時の復旧を行うようにしています。

[9eeb86df0e] "dependabot[bot]" 2024-04-22 15:05:25 UTC

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

[ed9834efbd] "dependabot[bot]" 2024-04-22 15:56:26 UTC

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

[2992e1074a] yui-knk 2024-04-21 00:54:23 UTC

parse.y で CRuby の実装への依存を減らすため ruby_parser.c に独自の実装を追加してこれを利用するように変更しています。

[c7d9376cb5] yui-knk 2024-04-22 13:12:43 UTC

Universal Parser 用の構造体 rb_parser_config_t の関数ポインタのメンバー str_subseq、str_new_frozen、filesystem_str_new_cstr、io_gets_internal などを削除しています。

[afa0d58580] Nobuyoshi Nakada 2024-04-23 00:21:38 UTC

ext/ripper/ripper_init.c.tmpl のインデントの修正のみ。

[3aa046803d] yui-knk 2024-04-23 00:29:32 UTC

Universal Parser 用の構造体 rb_parser_config_t から不要な関数ポインタのメンバー enc_compatible を削除しています。

[e15a1920ca] "dependabot[bot]" 2024-04-23 02:48:02 UTC

GitHub Actions の workflow で利用している actions/upload-artifact アクションのバージョンを更新しています。

[33929ef995] yui-knk 2024-04-23 02:27:42 UTC

parse.y から rb_enc_from_encoding() の呼び出しを ruby_parser.c に追い出しています。

[e61f76ce9e] yui-knk 2024-04-23 02:32:17 UTC

33929ef995522f3e1898088dda52eec582ddd266 により不要になった rb_parser_config_t のメンバー enc_from_encoding を削除しています。

[777daae049] Nobuyoshi Nakada 2024-04-23 02:33:50 UTC

テスト用の一時ディレクトリを準備する tool/lib/_tmpdir.rb でディレクトリ名を短くするようにしています。

[a53435868e] Nobuyoshi Nakada 2024-04-23 04:09:51 UTC

テスト用の一時ディレクトリを準備する tool/lib/_tmpdir.rb でテスト後に残ったディレクトリを削除する時に Dir.chdir でカレントディレクトリを一時ディレクトリに移動して行うようにしています。rmdir や unlink を相対パスで呼ぶためかな?

[fff2284871] Jean Boussier 2024-04-19 12:51:51 UTC

メソッドの再定義の時の警告メッセージが元の定義が ruby 実装の場合に重複するケースがあったので修正しています。

[45631622aa] "dependabot[bot]" 2024-04-23 02:47:54 UTC

GitHub Actions の workflows で利用している github/codeql-action アクションのバージョンを更新しています。

[33e5b47c16] Isaac Peka 2023-08-24 11:14:33 UTC

正規表現のマッチ処理時に入力が regex_t::dmin より短い時に処理をスキップするように修正しています。

[989a235580] Hiroshi SHIBATA 2024-04-12 05:01:47 UTC

正規表現の処理で正規表現エンジンのVMのスタック操作の順序が間違ってて異常終了する可能性があった不具合を修正しています。

[0b4bf05985] "NARUSE, Yui" 2024-04-23 11:14:18 UTC

安定版ブランチメンテナンス用のツール tool/merger.rb でマージの中断時には終了ステータスを 1 にして exit するようにしています。

[3fadd68452] "NARUSE, Yui" 2024-04-23 11:14:41 UTC

安定版ブランチメンテナンス用のツール tool/merger.rb でコミットログの subject にエンコードされた改行が含まれてた時にそれを取り除いてコミットログに使うようにしています。

ruby-trunk-changes 2024-04-22

今日は主にテスト用の一時ディレクトリ管理のライブラリの改善などがありました。

[9b580ee7b6] Nobuyoshi Nakada 2024-04-20 10:58:00 UTC

rubygems の gem update の実装で Dir.mktmpdir の呼び出しにブロックつきを利用するようにして自動的に後始末するようにしています。また一時ディレクトリの base 名の指定を追加しています。

[e59da9c339] Nobuyoshi Nakada 2024-04-22 00:56:47 UTC

テストで使う一時ディレクトリ準備のためのライブラリ tool/lib/_tmpdir.rb でディレクトリ名が長過ぎる時に /tmp を利用するパスで /tmp/ が存在することをチェックするようにしています。 Windows 対応のため?

[c9732e7ac3] "dependabot[bot]" 2024-04-22 02:17:08 UTC

GitHub Actions の workflows で利用する actions/checkout アクションのバージョンを更新しています。

[9b6affa4a1] "dependabot[bot]" 2024-04-22 03:02:50 UTC

GitHub Actions の独自アクションで利用している actions/checkout アクションのバージョンを更新しています。

[c65bc2e5d9] Nobuyoshi Nakada 2024-04-19 18:07:35 UTC

テストで使う一時ディレクトリ作成をまとめたライブラリ tool/lib/_tmpdir.rb で残ったファイルを表示する処理を Proc 化して再帰的にサブディレクトリも表示するようにしています。

[44d2b59491] Nobuyoshi Nakada 2024-04-22 02:01:32 UTC

テストで使う一時ディレクトリ作成をまとめたライブラリ tool/lib/_tmpdir.rb で c65bc2e5d9f0bc56b22d6bb765a1f25c53aa2ea7 で Proc オブジェクト化した処理をやっぱり Struct でクラスを作ってそのインスタンスメソッドとして実装するようにリファクタリングしています。

[d42a8d6602] Nobuyoshi Nakada 2024-04-22 02:03:13 UTC

テストで使う一時ディレクトリ作成をまとめたライブラリ tool/lib/_tmpdir.rb で e59da9c3393bf054de96e3e828aa2ba5b7286ce5 で追加したコメントを修正しています。

[f77618c1fa] yui-knk 2024-04-21 06:07:38 UTC

parse.y のマクロ Qnull と Qnone というのを削除して直接 0 という値を書くようにしています。どうやら昔 Qnil と Qundef に対応していたみたいですがもう必要なくなってたみたいです。

ruby-trunk-changes 2024-04-21

今日は主に irbリファクタリングなどがありました。

[f16c6ac4fd] Stan Lo 2024-04-20 18:55:51 UTC

irb の組み込みコマンドの実装で IRB::ExtendCommandBundle というモジュールを IRB::Command に改名してクラスメソッド IRB::ExtendCommandBundle.def_extend_command の定義のみ ExtendCommandBundle モジュールに残しています。モジュール名と内容を一致させるためのリファクタリングかと思われます。 https://github.com/ruby/irb/pull/925

Universal Parser 用の構造体 rb_parser_config_t の関数ポインタのメンバー array_len と array_aref および Qtrue を参照するための qtrue というメンバーを削除しています。

[f87c216c94] yui-knk 2024-04-21 05:46:27 UTC

node.c から不要なヘッダの #include を削除しています。

ruby-trunk-changes 2024-04-20

今日は主にテストの一時ディレクトリにファイルが残ってるのを検出する変更などがありました。

[7951b349ab] Nobuyoshi Nakada 2024-04-19 07:33:16 UTC

macOS でのコンパイル時にリンカのいくつかの特定の警告が出るのを configure で検出したら warnflags に -Wl,-w を追加するようにしています。

[e133d0c7a1] Artur 2024-03-06 16:44:51 UTC

標準添付ライブラリ time の Time.stptime の rdoc 用コメントに不正なフォーマットの時の例外について追記しています。

[4218e6bbd5] Matt Valentine-House 2024-04-18 20:34:56 UTC

gc.c の popcount_bits という未使用のマクロ定義を削除しています。

[604c29e8a2] Mari Imaizumi 2024-04-19 12:08:18 UTC

標準添付ライブラリ reline の補完処理に show_all_if_ambiguous という設定がされていた時の挙動を修正しています。 https://github.com/ruby/reline/pull/683

[f17268f7d4] Nobuyoshi Nakada 2024-04-16 23:53:09 UTC

rubyspec のために一時ディレクトリを作るスクリプト? tool/rubyspec_temp.rb のリファクタリング

[c789e4c493] Nobuyoshi Nakada 2024-04-16 23:55:08 UTC

tool/rubyspec_temp.rb を tool/lib/_tmpdir.rb というファイル名に移動して make test-all でも利用するようにしています。

[cd95f6b87f] Nobuyoshi Nakada 2024-04-19 14:07:58 UTC

c789e4c493cfd8abde2268b1ca2a0656851e0772 で解明して test-all でも利用するようにした tool/lib/_tmpdir.rb でプロセス終了時に一時ディレクトリを削除する時に残っているファイルを警告メッセージとして出力するようにしています。

[6cfd929034] Kuniaki Igarashi 2024-04-19 15:01:32 UTC

irb に組み込みコマンドの irb や job のテストを追加しています。 https://github.com/ruby/irb/pull/929

[c878344195] Alan Wu 2024-04-19 16:47:25 UTC

4cc58ea0b865f2fd20f1e881ddbd4c4fab0b072c での YJIT のローカル変数の最適化を revert しています。CI でタイムアウトすることが多かったとのこと。 https://github.com/ruby/ruby/pull/10584

[9555a997ac] Zack Deveau 2024-04-19 20:53:05 UTC

ISeq のバイナリフォーマットからのロードに使う関数 ibf_load_setup() で引数の str を T_STRING 型オブジェクトに限定するよう StringValue() の呼び出しを追加しています。

[9f9755664d] Nobuyoshi Nakada 2024-04-19 18:07:12 UTC

cd95f6b87fbe15712406054a31b8411ae82180f6 での tool/lib/_tmpdir.rb での一時ディレクトリの残りファイル出力で色付けのためにファイルが symbolic link かどうか確認するかのメソッドが link? になってたので symlink? に修正しています。

[125e1ed5f7] tomoya ishida 2024-04-20 07:45:38 UTC

irb で組み込みコマンドの実装がメソッドとして実現されていた時に exit/exit! で throw :IRB_EXIT した時に UncaughtThrowError 例外を捕捉していたのが不要になったので削除しています。 https://github.com/ruby/irb/pull/923

[d07df8567e] yui-knk 2024-04-20 02:59:04 UTC

parse.y に Universal Parser 用の rb_ruby_parser_allocate() と rb_ruby_parser_new() の定義を追加しています。

[cee985ea83] yui-knk 2024-04-20 03:08:36 UTC

Universal Parser 用の構造体 rb_parser_config_t の関数ポインタのメンバー rbool を削除しています。

[af169472c7] yui-knk 2024-04-20 02:15:46 UTC

d07df8567ea5d6afe661a5fa1c97e02d2b9e7a32 の続き? で ruby_parser.c の rb_parser_params_allocate() の定義を削除しています。

[2b11bcb84e] Nobuyoshi Nakada 2024-04-20 10:45:01 UTC

拡張ライブラリ zlib のテストで一時ディレクトリの削除の後始末をするようにしています。

ruby-trunk-changes 2024-04-19

今日は call cache の不要な複製を抑制する最適化や bundler の plugin 読み込みの修正などがありました。

[28efc0c924] Alan Wu 2024-04-18 14:04:23 UTC

YJIT の Array#<< メソッドを関数呼び出しに展開する最適化で non leaf として stack pointer の対比をしていなくて例外発生時に異常終了する可能性があったのを修正しています。 https://github.com/ruby/ruby/pull/10568

[81240493a3] Peter Zhu 2024-04-17 19:56:08 UTC

gc.c の rb_size_pool_slot_size() という関数を削除して gc.c 内からは static 版の size_pool_slot_size() を呼ぶように修正しています。

[ff599aea7c] tomoya ishida 2024-04-18 14:46:36 UTC

標準添付ライブラリ irb のプロンプトの展開で %% でメタキャラクタの % をエスケープする記法がうまく働いていなかったのを修正しています。 https://github.com/ruby/irb/pull/927

[8e08556fa7] careworry 2024-04-18 15:32:34 UTC

あちこちのコメントやメッセージで冠詞や助詞が重複していた typo を修正。しかし rubyspec とか syntax_suggest は upstream を修正しないと巻き戻りそう。 https://github.com/ruby/ruby/pull/10573

[147ca9585e] Aaron Patterson 2024-04-17 23:30:41 UTC

よくわかりませんがメソッド呼び出しの call cache の不要な複製の作成を抑制する最適化のようです。

[2f8128986a] git 2024-04-18 18:37:53 UTC

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

[ea7975c59b] Peter Zhu 2024-04-17 17:36:20 UTC

include/ruby/internal/encoding/encoding.h に ruby/internal/encoding/coderange.h の #include を追加しています。

[64d0817ea9] Aaron Patterson 2024-04-18 20:00:55 UTC

struct rb_callcache をクラスのリストに追加する vm_ccs_push() という関数で struct rb_callinfo の引数が GC markable かチェックしていましたがこの条件は不要なので削除しています。

[6443d690ae] eileencodes 2024-04-12 13:18:47 UTC

cc_is_active() という関数で struct rb_callcache が空っぽの時に不要な処理をスキップするようにしています。

[b7c4c8869c] ilyazub 2024-04-16 16:11:27 UTC

bundler のテスト用の tool/bundler/dev_gems.rb で turbo_tests の依存バージョンの指定を "~> 2.2.3" に再度変更しています。

[7f87ad9fc4] Nobuyoshi Nakada 2024-04-19 03:58:53 UTC

include/ruby/io/buffer.h で CPU の endian の判定を独自に書いてたのを configure で検出した結果の WORDS_BIGENDIAN マクロを利用するようにしています。 https://github.com/ruby/ruby/pull/10572

[3169c15863] Nobuyoshi Nakada 2024-04-18 04:58:58 UTC

rubyspec の C API テスト用の拡張ライブラリのビルドの依存関係を修正して毎回ビルドしなくてすむように? しています。

[801e4a4feb] Nobuyoshi Nakada 2024-04-19 00:57:23 UTC

make build-ext ターゲットの make コマンドに UPDATE_LIBRARIES という変数を渡していたのがもう未参照になってたので削除しています。

[05d681f91e] Nobuyoshi Nakada 2024-04-19 01:23:14 UTC

tool/lib/output.rb で定義している Output クラスの initialize メソッドにインスタンス変数の初期値を変更するためのキーワード引数を追加しています。

[1984db2db8] Nobuyoshi Nakada 2024-04-19 01:24:08 UTC

enc/make_encmake.rb のファイル生成に tool/lib/output.rb の Output クラスを利用するようにしています。

[09cbbe0e3d] fatkodima 2019-10-30 16:17:56 UTC

よくわかりませんが bundler の plugin のロードタイミングを変更して Bundler.require した時にも効くようにしているようです。

[0a14fee02f] Hiroshi SHIBATA 2023-03-10 07:37:34 UTC

bundler でブロックに直接 rescue 節を書く文法を利用して不要な begin 節を削除しています。

[a95b46db06] Hiroshi SHIBATA 2024-04-18 05:56:44 UTC

09cbbe0e3d2006bd191e33785154775fcfff9532 の bundler の plugin の読み込み処理の再修正で Bundler.rubygems.load_env_plugins の呼び出しを追加しています。

[acc326b7c4] Hiroshi SHIBATA 2024-04-18 05:56:57 UTC

09cbbe0e3d2006bd191e33785154775fcfff9532 の bundler の plugin の読み込み処理の再修正で Bundler.load_plugins の呼び出し時の不要な receiver の明記を削除しています。

[7522d1bffe] Hiroshi SHIBATA 2024-04-18 09:54:55 UTC

09cbbe0e3d2006bd191e33785154775fcfff9532 の bundler の変更の再修正で Bundler.require に plugin のフック呼び出しを追加した結果戻り値が変化してしまっていたのを修正しています。

[662ce928a7] Koichi Sasada 2024-04-19 04:21:55 UTC

環境変数 RUBY_TRY_UNUSED_BLOCK_WARNING_STRICT に "1" を含む文字列を設定すると e9d7478dedbd2b57530bc17efe8a9db9b8b2f280 でブロックを呼ばないメソッドへブロックを渡す呼び出しの警告のチェックを緩めたのをやめてより厳密なチェックをするようにしています。これって正確なチェックができないから緩めたんじゃなくて verbose だから緩めたのかな?

[74cd61fb96] "dependabot[bot]" 2024-04-19 02:22:06 UTC

GitHub Actions の workflows で利用している actions/upload-artifact アクションのバージョンを更新しています。

ruby-trunk-changes 2024-04-18

今日は主に YJIT の最適化や標準添付ライブラリ reline, irb の更新、ipaddr の IPAddr#cidr メソッド追加などがありました。

[2470565993] Matt Valentine-House 2024-04-17 11:51:27 UTC

gc.c の gc_rest() という関数で 1度しか参照されないローカル変数を廃止して直接代入元を参照するようにしています。なんか最適化されやすいとかあるのかな。

[209e2f277e] Peter Zhu 2024-04-16 18:06:36 UTC

gc.c の gc_is_moveable_obj() で即値である T_NIL 型オブジェクトというか VALUE の値を受付けないようにしています。

[8c8068c06f] Kevin Newton 2024-04-17 14:02:05 UTC

common.mk の prism の依存関係から f72436f8355dd19298b3f7d25d6c23cb75b3a02a で削除したヘッダのぶんを削除しています。

[15b659ca93] tomoya ishida 2024-04-17 16:12:14 UTC

標準添付ライブラリ reline の複数行編集まわりの処理のための分岐を Reline::LineEditor 内に取り込むリファクタリングhttps://github.com/ruby/reline/pull/653

[ee6e591b6a] Peter Zhu 2024-04-16 20:08:27 UTC

object_id の通し番号を管理する rb_objspace_t::next_object_id メンバーの型を VALUE から unsigned long long に変更して各所で Integer との変換をしていたのをやめています。 最低でもおよそ 10**17 もあるからオーバーフローしないやろ、とのこと。

[51485e63fc] Kevin Newton 2024-04-17 15:42:52 UTC

common.mk に lib/prism/reflection.rb のためのターゲットを追加しています。

[814dedcee2] Peter Zhu 2024-04-17 15:26:16 UTC

gc.c から既に未使用になってた sighandler_t マクロの定義を削除しています。

[98c84ef42c] Mike Dalessio 2024-04-15 17:17:54 UTC

bundler の Gemfile.lock に記述する platform から local platform というのは除くようにしています。bundle を実行する環境の arch が追加されちゃうのがなくなるのかな?

[ca764062b0] tomoya ishida 2024-04-17 18:36:25 UTC

標準添付ライブラリ irbIRB::Command::Base から一部のメソッドを別の IRB::Command::RubyArgsExtractor というモジュールに分離して利用する組み込みコマンド実装のクラスで include するようにリファクタリングしています。 https://github.com/ruby/irb/pull/922

[4cc58ea0b8] Takashi Kokubun 2024-04-17 19:00:03 UTC

YJIT のローカル変数を共有するためにコードブロック(YJIT の生成する命令のほうの Block のことだと思われる)を共通化するような最適化をしているようです。 39b13e581835d29f03da08c5df1a6f5d8d5a7957 はこのための準備だったのかな。 https://github.com/ruby/ruby/pull/10487

[3a4035a790] Matt Valentine-House 2024-04-17 12:30:39 UTC

gc.c に rb_objspace_t::rgengc.need_major_gc へのアクセスのショートカットをするマクロ gc_needs_major_flags というのを追加しています。

[8b81301536] Alan Wu 2024-04-17 21:48:38 UTC

YJIT の arm64 アーキテクチャ向けに生成するの機械語の細かな最適化を行なっているようです。

[0727d32b56] Matt Valentine-House 2024-04-17 21:05:52 UTC

gc.c の gc_enter() で RGenGC のデバッグ用ビルド時の gc_verify_internal_consistency() の呼び出しの条件に dont_gc フラグが立ってないことを追加しています。finalizer の処理中に一時的に GC を無効にしているために GC 無効状態でこの関数が呼ばれるパスがありえたとのこと。

[41456eb005] Kazuhiro NISHIYAMA 2024-04-17 23:09:55 UTC

NEWS のチケットの参照のための footnote の生成のための tool/update-NEWS-refs.rb で bugs.ruby-lang.org のチケットの種別の Misc にも対応するようにしています。

[9e0c6311e1] Kazuhiro NISHIYAMA 2024-04-17 23:10:34 UTC

NEWS のチケット参照のための footnote の追加と、チケット参照のマークアップを修正しています。

[ac62c7379d] Hiroshi SHIBATA 2024-04-18 00:41:32 UTC

.gitignore に d186eb36a4abbbefa026ea5630a1b59bb668ef0f および 51485e63fc72fd8bbecb3f5b3a794361efd94f28 で自動生成されるようになった lib/prism/reflection.rb を追加しています。

[07771c7657] Takashi Kokubun 2024-04-18 00:54:08 UTC

GitHub Actions の YJIT を有効にした Ubuntu 環境の workflow でテスト全体のタイムアウトを 60分から 90分に伸ばしています。

[6ac8f6a10e] Ben Fritsch 2020-04-03 14:48:15 UTC

標準添付ライブラリ ipaddr に x.x.x.x/y (IPv4 の場合)のような mask 範囲つきの表示を返す IPAddr#cidr メソッドを新規追加しています。

[88a88b56c7] Nobuyoshi Nakada 2024-04-15 05:24:19 UTC

標準添付ライブラリ optparse の gemspec ファイルの spec.files の指定に .document ファイル群を含めるようにしています。コミットログに [DOC] がついてますがこの変更自体はドキュメントの変更ではないですね。

[0f1ef19fcd] Nobuyoshi Nakada 2024-04-15 05:25:48 UTC

88a88b56c7094bca3db42f01d672622527dcad14 の optparse.gemspec の変更に余計なクオート記号が含まれてしまっていたのを修正。

[a3b7a7bc21] Kenichi Kamiya 2024-04-17 04:10:48 UTC

標準添付ライブラリ reline の未使用のローカル変数の削除。 https://github.com/ruby/reline/pull/684

[bc652d7568] David Rodriguez 2024-04-05 15:33:30 UTC

コミットログをみると bundler の source が rubygems.org 以外の時に user, password を URL に埋め込んだものを Gemfile.lock に書いてしまわないようにするための変更が主体のようです。しかし bundler の man ページの更新が混じってしまっているようです。

[a80f646616] Nobuyoshi Nakada 2024-04-10 17:10:20 UTC

bundled gems のテストのための tool/bundler/dev_gems.rb の turbo_tests の依存バージョンを 2.2.0 に更新しています。

[b3c59370ca] "dependabot[bot]" 2024-04-18 02:50:24 UTC

GitHub Actions の workflows で利用している github/codeql-action アクションのバージョンを更新しています。

[3a7846b1aa] Jean Boussier 2024-02-19 12:35:48 UTC

Encoding の変換や暗黙の変換のエラー時に ASCII-8BIT という名前だとよくわからないとのことで特別に "BINARY (ASCII-8BIT)" という表示をするようにしています。ASCII-8BIT を BINARY にしたいっていう要望根強いものがあるけどなぜそこまで……という気はしますが例外メッセージの表示だけ変更ということで手を打ったようです。 [ruby-core:107514] [Feature #18576]

[2e978c2cb3] Lorenzo Zabot 2024-04-18 10:33:19 UTC

標準添付ライブラリ irb のプロンプト表示で使える指示子についての rdoc 用コメントの %NNi と %NNn の説明をより詳細にしています。 https://github.com/ruby/irb/pull/926

[57a262e325] tomoya ishida 2024-04-18 11:48:10 UTC

irb の出力の色付けのテストで TAB (\t)が空白 2つ? に escape されるケースのための対応を追加しています。 https://github.com/ruby/irb/pull/924

ruby-trunk-changes 2024-04-17

今日は主に make all で docs の生成をしないようにするビルドプロセスの変更や Thread.each_caller_location の引数追加、Fiber#raise の仕様変更などがありました。

[8e341d81c9] Mari Imaizumi 2024-04-16 12:42:53 UTC

標準添付ライブラリ reline のバージョンを 0.5.2 に更新しています。 https://github.com/ruby/reline/pull/682

[e8f3ea3f87] git 2024-04-16 12:44:04 UTC

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

[39b13e5818] Takashi Kokubun 2024-04-16 14:41:21 UTC

YJIT の send 命令のコンパイル時に send 系関数の呼び出しが成功した後に次の VM 命令のコンパイル結果への明示的な jump 命令を生成するようにしているみたいです。 pull request をみるとローカル変数の共有についての最適化の下準備っぽいです。 https://github.com/ruby/ruby/pull/10539

[7380e3d30f] Jean Boussier 2024-04-16 12:23:45 UTC

オブジェクトを freeze する RB_OBJ_FREEZE_RAW() の実装を rb_obj_freeze_inline() に委譲するようにして RB_OBJ_FREEZE_RAW() でやっていた Chilled String 用の対応を rb_obj_freeze_inline() に移動しています。 rb_obj_freeze_inline() で行なっていた Object Shapes のための shape の再設定が必要だったのでその不具合修正も含めて同じ処理を使いまわすようにしたようです。

[f06670c5a2] Jean Boussier 2024-04-16 13:30:00 UTC

RB_OBJ_FREEZE_RAW() およびその wrapper macro の OBJ_FREEZE_RAW() の利用している箇所をそれぞれ RB_OBJ_FREEZE()/OBJ_FREEZE() を利用するように変更しています。 Object Shapes の対応のための処理が _RAW 版では抜けているので潜在的な不具合がありそうなので予防的修正をしているそうです。

[e5df8897fe] Peter Zhu 2024-04-16 15:16:19 UTC

gc.c の gc_sweep_page() で GET_THREAD() が NULL かどうかチェックして finalizer の登録処理を読んでたのを分岐を消しています。

[d6debba817] Peter Zhu 2024-04-16 17:25:23 UTC

gc.c の gc_is_moveable_obj() でここに渡される T_SYMBOL 型のオブジェクトは全て dynamic symbol のはずなので DYNAMIC_SYM_P() でのチェックは冗長ということで削除しています。

[75154dec73] Jean byroot Boussier 2024-04-17 01:29:09 UTC

拡張ライブラリ stringio の StringIO#read に読み込み先のバッファを引数で渡した場合にその文字列の Encoding が ASCII-8BIT に変更されてしまうという不具合? を修正しています。しかしこれは不具合なのかな? https://github.com/ruby/stringio/pull/95 [ruby-core:117478] [Bug #20418]

[0b630d6441] "dependabot[bot]" 2024-04-17 02:08:14 UTC

GitHub Actions の workflows で利用している ruby/setup-ruby アクションのバージョンを更新しています。

[f9f3018001] Koichi Sasada 2024-04-17 07:30:47 UTC

RubyVM::InstructionSequence#to_a で 9180e33ca3a5886fec3f9e0a2f48072b55914e65 でブロックを使わないメソッドへのブロック渡しの警告のために導入したメソッドの use_block フラグを結果に含めるようにしています。

[d31eda8eb6] Jean Boussier 2024-04-16 06:29:25 UTC

NEWS に d019b3baec4485909e6727db2507f943e78f38ec のYJIT の最適化が行なわれるいくつかの組み込みメソッドの再定義に対して performance カテゴリの警告を出力するようにした変更について追記しています。 [ruby-core:117523] [Feature #20429]

[eac3dee9cd] Jean Boussier 2024-04-17 07:59:50 UTC

ここ数日デバッグしていた String#@- のテストで "bar" という文字列がどこか別のところで既に使われているために失敗することがあった? みたいでもっとユニークな文字列をテストに使うように変更しています。

[7bc66a366d] Koichi Sasada 2024-04-17 08:40:20 UTC

f9f301800199e7b5b9a6e92cf726cd0214d417a4 で追加した RubyVM::InstructionSequence#to_a のテストを prism 利用時にはまだ ISeq がフラグに対応していないので? skip するようにしています。

[09638741ba] Nobuyoshi Nakada 2024-04-17 07:03:05 UTC

ブロックを受け取る Thread.each_caller_location メソッドに Kernel#caller_locations などと同様に取得するフレームの範囲を指示する引数を受付けるようにしています。 [ruby-core:117147] [Feature #20335]

[55b68d6cdc] Nobuyoshi Nakada 2024-04-17 10:16:00 UTC

09638741ba4d9547a0e48af8c767744fb1d7f68d の Thread.each_caller_location の変更で意図せず rubyspec の変更が入ってしまっていた部分を revert しています。

[e7493df7ac] Jean Boussier 2024-04-17 09:46:01 UTC

ブロックを呼び出さないメソッドにブロックを渡して呼び出した時の警告メッセージの英文を修正しています。

[cc37c89c2f] Hiroshi SHIBATA 2024-03-19 06:03:11 UTC

make all の依存関係から docs を削除して通常の make 時に docs の生成を抑制するようにしています。make install 時には生成される模様。 [ruby-core:117225] [Feature #20347]

[945a0334c7] Hiroshi SHIBATA 2024-04-17 10:13:51 UTC

cc37c89c2f4253a6f39a36ad610d0ba89c4257e8 で make 時には docs を生成せず make install 時にするようにしたので doc/contributing/building_ruby.md でインストール時のステップとして make と make install を分離するようにしています。

[6ade36c06b] Samuel Williams 2024-04-17 11:08:47 UTC

Fiber#raise が Fiber#resume の呼び元の Fiber にも例外を伝播させるようにしているようです。ふーむ? それでいいのかなと思ったけどチケットもあって Matz の approval を得ているのでそういうもののようです。 https://github.com/ruby/ruby/pull/10482 [ruby-core:117458] [Bug #20414]

[e9d7478ded] Koichi Sasada 2024-04-17 10:46:48 UTC

ブロックを使わないメソッドへのブロックつき呼び出しの警告について、同じ呼び出し元で場合によってブロックの呼び出しの有無が異なるようなメソッドの呼び出し時に実際にはブロックを呼ばないバージョンのメソッドにブロックを渡しても警告されないようにチェックの条件を緩める変更をしています。初回しか警告しないようにしているので一貫性がなくなるからかな?