ruby-trunk-changes 2023-06-02

今日は主に IO まわりの C の構造体の名前の変更とか RubyVM::YJIT.stats_string メソッドの新規追加などがありました。

[8a8618d4f3] Peter Zhu 2023-05-31 13:57:33 UTC

string.c の str_buf_cat4() で RSTRING_GETMEM() で取得した文字列バッファのポインタとサイズを改めて構造体メンバーから参照していたところがあったのでローカル変数に取っておいた内容を使うようにしています。

[a16cffe384] Peter Zhu 2023-05-31 13:58:17 UTC

同じく string.c の str_buf_cat4() で str_capacity() を利用するようにして文字列バッファが slot に埋め込まれているかどうかの分岐を消しています。

[a5e1d549b5] Nobuyoshi Nakada 2023-06-01 04:33:59 UTC

Array#all? と Array#any? の rdoc 用コメントに空配列の時の挙動について明記しています。書いてなかったっけ? と思ったけどサンプルに書いてあるだけだったみたいですね。

[47a8de6095] Samuel Williams 2023-06-01 12:46:10 UTC

構造体 rb_io_t の構造体タグである struct rb_io_t のほうを rb_io にして "_t" という suffix を削っています。また struct rb_io_enc_t は struct rb_io_encoding に改名しています。うーん、まあタグのほうを使うことはあまりないとは思うし気持ちはわかるけど、一応公開されているシンボル、とは違うけど名前だしどうかなぁ……。 https://github.com/ruby/ruby/pull/7886

[b7ee51e81d] Samuel Williams 2023-06-01 13:54:08 UTC

rb_io_event_t という型に typedef している enum 型に enum rb_io_event という名前をつけています。これも型名に "_t" をつけたくないという気持ちみたいですがなんか意味あるのかな……。

[77d1b08247] eileencodes 2023-02-07 20:46:50 UTC

クラス変数のキャッシュ機構にクラス/モジュールを clone した後で元のほうのクラス変更の内容を変更した時にコピー先のクラス/モジュールでクラス変数を参照した時にも変更した値が取れてしまうという不具合があったとのことで cref の情報も複製するようにしています。 [ruby-core:112048] [Bug #19379]

[39968112f5] Takashi Kokubun 2023-06-01 16:16:21 UTC

RubyVM::YJIT.stats_string というメソッドを追加して YJIT の統計情報を文字列として取得できるようにしています。 https://github.com/ruby/ruby/pull/7857

[2d2893f206] Stan Lo 2023-06-01 20:10:08 UTC

標準添付ライブラリ irb のテストからテスト用のユーティリティ envutil を require するのに require_relative を利用するようにしています。またテストのために irb プロセスを起動するのにダミーの irbrc を渡すようにしていたのをやめて、さらに環境変数 TERM に dumb をセットして起動するようにしています。最後のは色付けを抑制するためかな?

[10621f7cb9] Aaron Patterson 2023-06-01 21:55:36 UTC

77d1b082470790c17c24a2f406b4fec5d522636b のクラス変数のキャッシュの不具合修正を revert しています。

[3a4206c7a1] yui-knk 2023-05-31 12:02:04 UTC

拡張ライブラリ ripper の extconf.rb で生成する Makefile に BISON 変数の設定を埋め込む必要がなくなったので関連コードを削除しています。

[5a3c782a1d] "dependabot[bot]" 2023-06-02 02:59:17 UTC

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

[729b92ea46] Nobuyoshi Nakada 2023-06-01 13:15:54 UTC

標準添付ライブラリ uri の gemspec ファイルでサポートする ruby のバージョンを 2.4 から 2.5以降に引き上げています。

[21b61b21c2] Nobuyoshi Nakada 2023-06-02 01:34:43 UTC

win32/Makefile.sub で SCRIPTPROGRAMS という変数が空の時にそれをターゲットとするルールを有効にしないよう !if ... !end という……なんていうんだろこれ、マクロ? で囲んでいます。 nmake はターゲットが空なのを許容してくれないからとのこと。

[c32a30ec09] Hiroshi SHIBATA 2023-06-02 08:20:28 UTC

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

[d7e82512e4] git 2023-06-02 08:21:30 UTC

c32a30ec09997b3ee846a33a6873ed0e66c8dc94 に追随して NEWS の bundled gems のバージョンリストの stringio のバージョンも更新しています。