ruby-trunk-changes 2024-03-25

今日は主に reline や irb の更新、Lrama の更新、chilled string 導入時の不具合修正、require の default gems/bundled gems への警告の bootsnap/zeitwerk 利用時の対応の追加などがありました。

[82f4cff1f3] tomoya ishida 2024-03-24 12:54:33 UTC

irb のテストで標準添付ライブラリ reline の変更に追随するための修正。 https://github.com/ruby/irb/pull/908

[74593613ea] tomoya ishida 2024-03-24 13:04:30 UTC

標準添付ライブラリ reline で端末を指定する環境変数が TERM=dumb の時にダイアログウィンドウの描画を抑制するようにしているようです。 https://github.com/ruby/reline/pull/663

[7c015c3b30] Nobuyoshi Nakada 2024-03-24 13:35:09 UTC

template/Doxyfile.tmpl から RJIT 関連の未使用のマクロの指定を削除しています。

[5e4b4d6674] Nobuyoshi Nakada 2024-03-24 11:23:57 UTC

rubygems で定数名の typo を修正した時に互換性のために残していた古い名前 Gem::UnsatisfiableDepedencyError を削除しています。

[e86a619166] yui-knk 2024-03-24 05:33:04 UTC

同梱している Lrama のバージョンを 0.6.5 に更新しています。

[95864a6e35] "dependabot[bot]" 2024-03-22 02:32:35 UTC

GitHub Actions の workflows で利用している dependabot/fetch-metadata というアクションのバージョンを更新しています。

[fdd7ffb70c] Nobuyoshi Nakada 2024-03-25 00:24:21 UTC

magic comment の frozen_string_literals が未指定の時の文字列リテラルの chilled string が文字列バッファの部分文字列の共有に使えるという誤判定をしてしまっていた不具合を修正しています。 FL_FREEZE と STR_CHILLED のビットフラグが両方立ってる状態ってありえたのかな? [ruby-core:117302] [Bug #20389]

[348d8bdb0e] David Rodriguez 2024-03-20 15:43:26 UTC

tool/rbinstall.rb で拡張ライブラリのインストール時に $ext_build_dir という変数で指定されるディレクトリを考慮するように修正しています。

[bece07e6c3] David Rodríguez 2024-01-24 09:16:48 UTC

tool/rbinstall.rb で拡張ライブラリの default gems のインストールするファイルの探索を修正しているようです。

[2b703eed46] David Rodríguez 2024-01-24 09:22:26 UTC

tool/rbinstall.rb の bece07e6c3716f93c0f2b98159430aa5df51c0a0 で変更してしまったメソッド名を元に戻しています。

[083e7080d1] David Rodriguez 2024-03-18 19:58:49 UTC

tool/rbinstall.rb の 2b703eed46237d28ca71f3ed24f77bf53cf81720 の再修正で拡張ライブラリ default gems の Makefile の target_prefix という変数の指定を考慮するようにしているようです。

[2dd2204d8c] David Rodriguez 2024-03-20 16:17:40 UTC

tool/rbinstall.rb にソースディレクトリ内の "lib/" を返すヘルパーメソッドを追加しています。

[ea31228d0c] David Rodriguez 2024-03-20 16:18:20 UTC

よくわかりませんが引き続き tool/rbinstall.rb の拡張ライブラリをもつ default gems のビルドのための修正のようです。

[48d3bdddba] KJ Tsanaktsidis 2024-02-24 08:31:27 UTC

61da90c1b8d5c9a62d429ef66f000117eca675b3 あたりで ASAN を有効にした時の machine stack のすりかえ? の対応のための構造体メンバー rb_thread_t::asan_fake_stack_handle を rb_execution_context_t::asan_fake_stack_handle に移動しています。Fiber ごとに持つ必要があったため。 [ruby-core:116987] [Bug #20310]

[2535a09e85] KJ Tsanaktsidis 2024-02-24 08:32:17 UTC

48d3bdddbaeabed5fb6a97bfbe65e250d1383a9c の続きで ASAN を有効にしてビルドした時の rb_execution_context_t の mark 処理中に rb_objspace_t::marking_machine_context_ec をセットしておくようにしています。コミットログによると current thread の context のみ mark 処理するようにするためみたいです。 [ruby-core:116987] [Bug #20310]

[69579ed57a] KJ Tsanaktsidis 2024-02-28 03:37:25 UTC

ASAN を有効にした時の machine stack のすりかえ処理を Fiber 利用時にも対応するようにしています。 [ruby-core:116987] [Bug #20310]

[9db300219f] Hiroshi SHIBATA 2024-03-25 03:45:30 UTC

rubygems の上書きする require での default gems/bundled gems の警告出力のテストのための tool/test_for_warn_bundled_gems/ に zeitwerk を利用している状態でのテストを追加しています。

[02a4bdd607] Hiroshi SHIBATA 2024-03-25 04:22:45 UTC

tool/test_for_warn_bundled_gems/test.sh で各テストのあいだに改行の出力を追加しています。

[d6e9367edb] Xavier Noria 2024-03-13 21:52:41 UTC

rubyems の上書きする require で default gems や bundled gems に対して警告を出す lib/bundled_gems.rb の実装で weitwerk 利用時の不具合を修正しているようです。よくわかりませんが Bootsnap と Zeitwerk を利用している時にバックトレースに余計なフレームが入るので誤検出していたようです。

[6b1691ebe8] Hiroshi SHIBATA 2024-03-25 04:29:22 UTC

d6e9367edb940ea26a51e56b2be1032a97eea4c2 の続き。 lib/bundled_gems.rb で Bootsnap 利用時に require するファイルパスに prefix を追加する変化に対応するようにしています。

[990e11b60e] Hiroshi SHIBATA 2024-03-25 04:31:19 UTC

9db300219f75db5951b7e2f61683b1241e7afcf0 で追加した Zeitwerk 利用時の require の警告のテストのファイル名の意味が反転していたので修正しています。

[e720a6b485] Nobuyoshi Nakada 2024-03-25 05:33:20 UTC

たぶん misc/lldb_rb/utils.py で lldb のコマンドで String オブジェクトの Chilled String の表示対応をしようとしたのだと思いますが、直近の lib/bundled_gems.rb やそのテストの変更の revert が一緒に入ってしまっています。

[675dcf9153] Hiroshi SHIBATA 2024-03-25 06:04:26 UTC

ということで e720a6b48582900efd1bd326210644b2fc0f2c5d で revert されてしまった lib/bundled_gems.rb の修正やそのテストを戻しています。

[bd85fd6db9] Hiroshi SHIBATA 2024-03-25 06:16:22 UTC

tool/rbinstall.rb で拡張ライブラリの Makefile 内に TARGET がなかった時のエラー対策。クロスコンパイルの時に発生しうるみたいです。

[6c65f11c08] "dependabot[bot]" 2024-03-25 02:40:20 UTC

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

[152192c96f] Hiroshi SHIBATA 2024-03-25 08:12:31 UTC

tool/rbinstall.rb で Gem::Specification.load を使ってたところをこのスクリプトで独自に実装している load_gemspec メソッドを利用するようにしています。 spec.files のために git ls-files コマンドを実行しているところを削る処理をしないといけないので。

[e70ccc91e5] Jean Boussier 2024-03-25 08:31:59 UTC

gems/bundled_gems の minitest と power_assert のテストに使う commit hash の指定を更新しています。 chilled string が入ったことに対する対応が行なわれたみたいです。

[219d7cc1aa] Jean Boussier 2024-03-25 07:45:02 UTC

lib/bundled_gems.rb の bootsnap と zeitwerk 対応でバックトレースの除外条件を bootsnap または zeitwerk が含まれているかという決め打ちにしてたのを "require" というメソッド名以外のものをみつけた時にそのフレームを使うというふうに普遍的な判定方法に修正しています。

[5f334b67d2] Stan Lo 2024-03-25 11:06:35 UTC

標準添付ライブラリ reline のコピペした時のパフォーマンスに関するテスト? がもう不要になってるとのことで削除しています。 https://github.com/ruby/reline/pull/665

[f53209f023] tomoya ishida 2024-03-25 11:48:08 UTC

irb でタブ補完で rdoc のドキュメントを表示するための RDoc::RI::Driver のインスタンスを毎回生成してるのをインスタンス変数で cache して使いまわすようにしています。 https://github.com/ruby/irb/pull/911