ruby-trunk-changes 2023-10-16

昨日と今日は irb のバージョン更新、AST の構造体のリファクタリング、bundler の不具合修正などがありました。

[96cd73d78f] Nobuyoshi Nakada 2023-10-14 07:51:11 UTC

tool/leaked-globals で意図せず公開されてしまう symbol のチェックをする時に環境によっては共有ライブラリをロードすると常に存在する symbol というのがあってそれを無視させるために configure でそのような symbol の存在チェックをしてそれを無視させるようにしています。

[4e5c505bad] tomoya ishida 2023-10-14 14:12:37 UTC

irb の補完処理の変更で削除されたモジュール IRB::InputCompletor を復活? させています。互換性のためとのこと。 https://github.com/ruby/irb/pull/730

[177d8ee056] tomoya ishida 2023-10-14 14:42:32 UTC

irb のバージョンを 1.8.3 に更新しています。

[eb3be1dfef] git 2023-10-14 14:43:44 UTC

NEWS の default gems の irb のバージョンも更新しています。

[75fb3cf458] tomoya ishida 2023-10-14 15:02:33 UTC

4e5c505bad2a2c6c62992a74b503d7213fbc2b93 で追加した irb のテストの setup/teardown に encoding 設定の復旧のための処理を追加しています。 https://github.com/ruby/irb/pull/732

[7865cebfb7] Alexandre ZANNI 2023-10-14 12:16:13 UTC

標準添付ライブラリ cgiCGI.escapeURIComponent, CGI.unescapeURIComponent の rdoc 用コメントのサンプルコードのメソッド名が古いままだったので修正しています。

[55c5ebe0a0] Koichi Sasada 2023-10-14 18:56:46 UTC

やはり s390x-linux では M:N Thread の実装は無効化するようにしています。

[48c6cea330] Takashi Kokubun 2023-10-15 04:00:50 UTC

YJIT の統計情報のためのカウンタをインクリメントする Rust 実装で --yjit-stats 指定がない時にスキップしていたのをやめています。 https://github.com/ruby/ruby/pull/8654

[83f929316e] Samuel Giddins 2023-09-02 20:53:27 UTC

bundler で Gemfile.lock で ruby platform を指定した時の不具合修正? みたいです。

[5cb76754ab] Kouhei Yanagita 2023-10-14 22:51:59 UTC

Numeric#step の rdoc 用コメントのキーワード引数名の変更に追随できていなかったところがあったので修正しています。

[259747e1e6] Nobuyoshi Nakada 2023-10-15 04:53:20 UTC

GitHub Actions の Windows 版 workflow で step 名の間違いを修正しています。

[28bd3a96b9] Takashi Kokubun 2023-10-15 05:06:42 UTC

259747e1e6fe46460d605e21d4c9598d78fb52bc の続きで GitHub Actions の Windows 版の workflow で != でのチェックがうまくできないみたいでエラーになるのに実行してしまうことがあるみたいなのでエラー時に無視して続行させるようにしています。

[222c4b8568] Takashi Kokubun 2023-10-15 04:09:08 UTC

GitHub Actions の workflow に result という job を追加してテスト結果を集約するようにしています。みための問題以上に CI に成功したら自動で merge されるような設定をするためにはドキュメントのみの変更時にテストがスキップされるとチェック対象の job が存在しないため auto merge できないという問題があるので、空の時は成功になるような集約した job を作ってそれをチェック対象にすることで対策しようということみたいです。

[341d2ad95c] Takashi Kokubun 2023-10-15 04:52:33 UTC

222c4b85684424352d65125018d15a9e87d0a851 の続きで GitHub Actions の workflow に追加した result にそれぞれプラットフォーム毎の名称をつけるようにしています。同じ名前だとどれか 1つが成功した時点で auto merge 可能になってしまうため。

[ddd5be9efa] Takashi Kokubun 2023-10-15 05:33:40 UTC

GitHub Actions の workflow の細かなチェックや YJIT 有効化バージョンでの Rust の lint 実行などをドキュメントのみの変更の時にスキップするようにしています。

[df1887414a] Jun Aruga 2023-10-13 14:54:57 UTC

doc/contributing/testing_ruby.md のサンプルコマンドで一部だけプロンプトつきになっていたのを削っています。

[13dafb210e] Jun Aruga 2023-10-13 15:00:10 UTC

doc/contributing/testing_ruby.md の make check の説明のテスト対象が少し古くなっていたので修正しています。

[985b0244da] Takashi Kokubun 2023-10-15 06:27:01 UTC

ddd5be9efad0442b1976e8e3f8cc4936e9d6e61c のうち GitHub Actions の .github/workflows/check_misc.yml の workflow でのスキップの設定は削除しています。

[591336a0f2] Yusuke Endoh 2023-10-15 05:53:14 UTC

RCLASS_EXT() というマクロで rb_classext_t へのポインタを得るのに一旦 char* にキャストしてポインタ演算していたのを struct RClass と rb_classext_t を並べた構造体を宣言してこれを利用するようにしています。ポインタ演算するバージョンは GCC 13 で警告されるようになっていたみたいです。

[dc8742f5cc] yui-knk 2023-10-12 14:40:28 UTC

AST の node 専用構造体の不要なメンバーを削除しています。

[cab67d227a] yui-knk 2023-10-12 14:40:42 UTC

AST の node 専用構造体の不要なメンバーを削除しています。

[a4e3d595cd] yui-knk 2023-10-12 14:49:29 UTC

AST の node 専用構造体の不要なメンバーを削除しています。

[e7e31d7784] yui-knk 2023-10-14 01:53:44 UTC

parse.y で NODE_STR の NODE をそのまま NODE_DSTR のタイプに変更して使いまわすことがあったのを新たに NODE を生成して一部情報をコピーするようにしています。NODE_STR 用の構造体の不要なメンバーを削除するため。

[5342dbf00b] yui-knk 2023-10-14 01:57:47 UTC

parse.y で NODE を RNODE_LIST として扱う箇所で NODE の種類をチェックするようにしています。

[606452d1a9] yui-knk 2023-10-14 02:01:47 UTC

AST の node 専用構造体の不要なメンバーを削除しています。

[833c930bd6] Yusuke Endoh 2023-10-15 18:06:21 UTC

591336a0f278bf963d01b6e9810cfc86a5b50620 の変更で RCLASS_EXT() の結果の NULL チェックは不要になった(元から不要な気はするけどおそらく警告が出てた?)ので削除しています。

[7e51cadc2e] Nobuyoshi Nakada 2023-10-15 12:15:43 UTC

拡張ライブラリ coverage のテストで結果の Hash を文字列として比較していたところが Hash の要素の順序が変わる可能性があってエラーになることがあったので Hash オブジェクトとして子プロセス内で比較するように修正しています。

[cbf2e133c1] David Rodriguez 2023-09-30 19:01:36 UTC

bundler の依存関係解決の不具合修正。

[3f5da31760] Ellen Marie Dash 2023-09-30 23:13:48 UTC

rubygems の警告メッセージの文言の変更。

[724398cce6] Ellen Marie Dash 2023-09-30 23:15:42 UTC

rubygems の古くなったコメントの削除。

[45a5ea5a0a] Ellen Marie Dash 2023-09-30 23:18:51 UTC

rubygems のテストで Gem::Installer#install で権限がない時の例外として Errno::EACCES を許容していたのを削除しています。

[f37e9f42b9] Ellen Marie Dash 2023-10-06 23:18:07 UTC

rubygems の Gem::PathSupport で Gem.default_dir の利用時のチェックの条件からディレクトリがない時に作成できるかどうかのチェックを削っています。プラットフォームによってはうまく確認できないためとのこと。

[4dbee36f84] David Rodríguez 2023-10-05 09:40:02 UTC

bundler の bundle lock の実装で冗長な Bundler.definition の呼び出しを削っています。

[a05904c8ce] David Rodríguez 2023-10-05 09:55:14 UTC

bundler の bundle lock の実装で Bundler.settings に freeze: true が設定されていても局所的に無視して更新を実施するようにしているようです。

[a1c73f1c88] David Rodríguez 2023-10-04 18:08:14 UTC

bundler のクラスメソッド Bundler.local_platform の呼び出しを reciever なしの呼びかたに変更しています。

[b7ad9eda3c] David Rodríguez 2023-10-04 21:18:59 UTC

bundler の依存関係解決のメッセージ組み立てのリファクタリング?

[73ba4b76c2] David Rodríguez 2023-10-05 05:53:57 UTC

bundler の依存関係解決の修正?

[77ffa1a7c3] David Rodríguez 2023-10-04 18:08:49 UTC

bundler の依存関係解決のエラー処理の修正。

[cc5a916fa3] Nobuyoshi Nakada 2023-10-15 05:19:14 UTC

GitHub Actions の Windows 版の workflow で必要なツールの存在チェック? の cmd.exe での書きかたの修正。

[d4ac62f3e9] Nobuyoshi Nakada 2023-10-15 13:27:33 UTC

cc5a916fa3571e64ac2cb2c76b541deac7be276d の再修正。GitHub Actions の workflow の必要なコマンドのリストを変数に切り出すリファクタリング

[fe08839d8a] Kazuhiro NISHIYAMA 2023-10-16 09:29:59 UTC

thread_pthread.c のデバッグメッセージの typo 修正。

[f6e2f32a96] Nobuyoshi Nakada 2023-10-16 09:51:41 UTC

コマンドラインオプション -v 指定時に表示する文字列を RUBY_DESCRIPTION_WITH() というマクロで構築していたのを ruby_description という定数に静的に構築するようにしています。また YJIT や RJIT の有効化有無によって動的に変更する部分は逆に snprintf(3) で作るようにしてそれぞれの場合の定数を持たないようにしています。