ruby-trunk-changes 2024-09-04

今日は標準添付ライブラリ reline の不具合修正や FIFO の open 時に割り込みで失敗してしまうことがあった不具合の修正などがありました。

[a2243ee48b] ydah 2024-09-03 07:12:30 UTC

予約語 alias に対応する AST のノード NODE_ALIS/構造体 rb_node_alias_t にも位置情報を持たせるようにしています。

[3c63a01295] Peter Zhu 2024-08-30 17:05:24 UTC

構造体 rb_vm_t の objspace メンバーを構造体内の構造体のメンバー gc の中にネストさせて、mark 関数系のための構造体を rb_ractor_t からこの中に移動させています。これにより mark 系関数の引数の objspace を削除して各関数内で GET_VM() で rb_vm_t を取得してそこから参照するようにしています。また mark 系関数の実体を RB_GC_MARK_OR_TRAVERSE() というマクロに切り出して共通化させています。コミットログをみると heap の全 slot を舐める処理の実装を gc.c に寄せて分離した default/gc.c の責務を軽くするということみたいですけど、実際の変更としては gc/default.c の gc_mark() で during_gc による分岐をなくしているだけですね。

[ad9d2c6435] tomoya ishida 2024-09-03 15:19:40 UTC

標準添付ライブラリ reline の Reline.insert_text を使った時に余分な prompt の表示がされるという不具合の修正のようです。 https://github.com/ruby/reline/pull/742 [ruby-core:119022] [Bug #20711]

[0889f64021] Mari Imaizumi 2024-09-03 15:32:25 UTC

標準添付ライブラリ reline で Reline::Config の設定再読み込みのための reset_variables で初期化するインスタンス変数の追加と、対応するテストを追加しています。 https://github.com/ruby/reline/pull/741

[f1349924df] tomoya ishida 2024-09-03 15:45:37 UTC

標準添付ライブラリ irb の easter egg でロゴを表示する時に端末制御のために? rdoc を require していたのをやめて Pager クラスを利用するようにしています。 https://github.com/ruby/irb/pull/998

[675529b9c6] Durable Programming Team 2024-09-02 19:16:31 UTC

rubygems の Gem::Source の配下のクラス群の #pretty_print 時のネストのさせかたを変更している? みたいです。

[53eaa67305] Peter Zhu 2024-09-03 17:43:33 UTC

gc/default.c の rb_gc_impl_garbage_object_p() で ASAN のための asan_unpoisoning_object() の利用を追加しています。

[ef42e04a1a] Peter Zhu 2024-09-03 17:44:09 UTC

gc.c の 3c63a01295b4219743b3d3e883fd4a4a616960a6 で切り出した RB_GC_MARK_OR_TRAVERSE() マクロ内で rb_gc_impl_garbage_object_p() による slot が生きてるかのチェックも追加しています。

[974b404327] Hiroshi SHIBATA 2024-09-03 23:41:38 UTC

GitHub Actions のリリース作業用の workflow で ruby-build の workflow を起動するための payload の openssl_version の指定を変更しています。

[08f14b8d4c] Jeremy Evans 2024-09-04 01:21:01 UTC

拡張ライブラリ socket のテストで TCPSocket.new の connect_timeout でタイムアウトした時の例外として Errno::EACCES を候補に追加しています。そもそもソケット接続が許可されていないような環境で失敗することがあったとのこと。

[37d7ae06af] Nobuyoshi Nakada 2024-09-03 11:19:55 UTC

fifo を FIle.open で開く時にシグナルなどの割り込みで errno=EINTR でシステムコールがかえってきた時にリトライすべきところをしていなかったのを修正しています。 [ruby-core:118996] [Bug #20708]

[ab18b1b4f5] ydah 2024-09-03 07:20:52 UTC

予約語 alias を変数に使った時の AST のノードはメソッドの時とちがって NODE_VALIAS というタイプで構造体も rb_node_valias_t と別にあったので、a2243ee48bf6d68b0e5c713b5e7dd6bf3b57f62c と同様にこちらにも位置情報を持たせるようにしています。変数の alias ってあんまり使ったことないな。

[a3e08718b4] Hiroshi SHIBATA 2024-09-04 05:44:30 UTC

tool/format-release で diffy.gem を利用するにあたって require "bundler/inline" を使って必要なら gem のダウンロードも行わせるようにしているようです。

[e884d65094] Nobuyoshi Nakada 2024-09-04 03:59:02 UTC

tool/lib/test/unit/assertions.rb の pend メソッドの定義に明示的にブロック引数を受け付けるように宣言して警告抑制するようにしています。test-unit の pend と実装が異なるのでブロックは無視するんだけど渡されると警告が出てしまうのでということみたいです。

[7fc1fd8977] git 2024-09-04 07:02:15 UTC

gems/bundled_gems と NEWS の bundled gems のバージョンリストの rexml のバージョンを更新しています。

[ae98d19cf9] Hiroshi SHIBATA 2024-09-04 07:47:22 UTC

GitHub Actions の Ubuntu 版 workflow に ubuntu-24.04 環境でのテストを追加しています。

[036ca726bb] Jean Boussier 2024-09-04 09:24:00 UTC

String#index と String#byteindex の rdoc 用コメントの不要なインデントの修正。