ruby-trunk-changes 2024-10-09 (original) (raw)

今日はなぜか変更が多かったです。主に YJIT の Module#name のインライン化最適化対応、拡張ライブラリ socket の rb_io_t のレイアウトに依存しないようにする利用 API の変更、bundler/rubygems の修正、default gems に win32 から分離した win32-registry の追加などがありました。

[613694734e] Jean Boussier 2024-10-08 12:21:29 UTC

拡張ライブラリ json の C 実装の変数の型を変更しています。警告抑制の修正のしかたの再修正?

[7cdbf93a89] Peter Zhu 2024-10-07 13:47:21 UTC

GC の実装を共有ライブラリで読み込むのに失敗した時のエラーメッセージの修正。

[6e2619c968] Jean Boussier 2024-10-08 12:57:02 UTC

benchmark/ に jsonベンチマークがマージされています。 upstream からの同期時に混じってしまったみたいですね。

[d8b64eac55] Nobuyoshi Nakada 2024-10-08 06:36:58 UTC

internal/fixnum.h に利用している MUL_OVERFLOW_FIXNUM_P() マクロのために #include "internal/bits.h" を追加しています。

[9a90cd2284] Nobuyoshi Nakada 2024-10-08 06:41:28 UTC

主に coroutine 実装などで関数ポインタからポインタ(void*) にキャストする時に一度 uintptr_t 型にキャストするようにしています。標準では直接通常のポインタと関数ポインタを相互にキャストするのは禁止されているとのこと。

[49ccc31d90] Nobuyoshi Nakada 2024-10-08 06:44:40 UTC

vm_insnhelper.c に関数ポインタへの変換を行うためのマクロを導入しています。

[1f39184bc7] Nobuyoshi Nakada 2024-10-08 07:12:10 UTC

Fiber 用の coroutine 実装のアセンブリファイル群で coroutine_transfer() という関数のシンボルを参照する時にシンボル名の prefix をつけるマクロを個別に定義していたのを template/Makefile.in でまとめてマクロ定義しておくようにしています。

[8ba2c3109c] Nobuyoshi Nakada 2024-10-08 12:25:15 UTC

NO_SANITIZE() というマクロで展開結果で途中に ";" で複数の文に展開されるようになっていたのをやめて引数の式を最後に置くようにしています。しかしこれ COMPILER_WARNING_POP とかの外に出てもいいのかな?

[02101f473b] Nobuyoshi Nakada 2024-10-08 14:43:02 UTC

rdoc によるドキュメント生成時に common.mk で引数で明示的に title を指定していたのを tool/rdoc-srcdir にバージョンの抽出と文字列組み立ての処理を移植しています。

[044f6ba23d] Nobuyoshi Nakada 2024-10-08 14:51:33 UTC

GitHub Actions の check_misc という workflow に rdoc によるドキュメント生成と結果のアップロードをするステップを追加しています。

[45edfa73ce] BurdetteLamar 2024-10-08 00:41:07 UTC

Array#unshift の rdoc 用コメントの手直し。

[a320833013] Burdette Lamar 2024-10-08 15:10:49 UTC

Array#pop の rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/11821

[cb19dfca2c] tomoya ishida 2024-10-08 15:15:39 UTC

irb の debug モード時の入力を消費する時に改行を出力する処理を環境変数 RUBY_DEBUG_TEST_UI が設定されている時に限るようにしています。 https://github.com/ruby/irb/pull/1014

[ded078c2c4] Alan Wu 2024-10-08 15:44:59 UTC

YJIT で Module#name が呼ばれた時に直接 rb_mod_name() を呼び出すインライン化をする最適化。 https://github.com/ruby/ruby/pull/11819

[df973d956a] Nobuyoshi Nakada 2024-10-08 15:36:12 UTC

NEWS の typo 修正。

[bf4571c35d] Nobuyoshi Nakada 2024-10-08 15:47:21 UTC

NEWS のインデント修正のみ。

[eddcff26a3] Nobuyoshi Nakada 2024-10-08 15:58:34 UTC

NEWS の空行の追加。

[a081fe11f9] Nobuyoshi Nakada 2024-10-08 16:01:04 UTC

NEWS の markup の体裁の修正。

[2c6317defb] Nobuyoshi Nakada 2024-10-08 16:06:16 UTC

NEWS のクロスリファレンスの抑制のために `` でクオートしていたところをいくつか削除してリンク化しています。

[bb57f7d20b] Nobuyoshi Nakada 2024-10-08 16:10:33 UTC

NEWS の win32-sspi の分離についての記述にリンクを追加しています。

[de50c4bd42] Nobuyoshi Nakada 2024-10-08 16🔞09 UTC

NEWS の文章中のアポストロフィとしてのシングルクオート記号にマルチバイト文字の RIGHT SINGLE QUOTATION MARK を利用するようにしています。意図せず markup として扱われてしまってた?

[7c304e316f] Burdette Lamar 2024-10-08 17:37:19 UTC

Array#product の rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/11823

[abd01d616a] David Rodríguez 2024-10-08 09:59:42 UTC

bundler のテストの realworld_system_gems というヘルパーメソッドで GEM_PATH を置換せずに実行するようにしています。

[6bd79e53cd] David Rodríguez 2024-10-08 10:34:55 UTC

abd01d616aaeae7ad93838b75610bec6de0c6dc1 の続きで bundler のテストのヘルパーメソッド realworld_system_gems で gem install コマンド実行時に --verbose オプションを付加するようにしています。

[cfcc7522d4] David Rodríguez 2024-10-08 11:54:50 UTC

bundler のテストのヘルパーメソッド system_gems でも環境変数 GEM_PATH のすりかえをしないようにしています。

[9e121ef985] David Rodríguez 2024-10-08 15:47:46 UTC

bundler のテストのヘルパーメソッドで gem install 実行時にタイムアウトの指定をつけるようにしています。

[015d9ebaec] BurdetteLamar 2024-10-08 20:23:41 UTC

Array#rassoc の rdoc 用コメントの手直し。

[0469d169e2] BurdetteLamar 2024-10-08 20:37:49 UTC

Array#reject の rdoc 用コメントの手直し。

[65494d3cc6] BurdetteLamar 2024-10-08 20:44:36 UTC

Array#reject! の rdoc 用コメントの手直し。

[3fc1495c30] John Bampton 2024-10-08 17:36:17 UTC

rdoc 用コメントの typo 修正。

[5840b4363f] Nobuyoshi Nakada 2024-10-09 01:05:19 UTC

tool/rdoc-srcdir の shebang でオプションに -W0 を渡して警告抑制させるようにしています。また $LOAD_PATH にソースディレクトリの lib/ を追加してソースツリー内の rdoc を利用させるようにしています。

[09d5f3c143] Nobuyoshi Nakada 2024-10-09 01:28:59 UTC

GitHub Actions の check_misc workflow の rdoc によるドキュメント生成でコミットログや pull request のラベルなどからドキュメントの変更を検出した時だけ実行させるようにしています。

[589f1978d8] Hiroshi SHIBATA 2024-10-09 01:57:18 UTC

標準添付ライブラリ resolv のテストで MinGW 環境で bind(2) が通らないものを skip させるようにしています。

[75c3c0b0af] Hiroshi SHIBATA 2024-10-09 03:05:36 UTC

NEWS の bundled gems のバージョンリストのところの repl_type_completor を新規追加としてセクションを分けています。

[ed11a244dd] "dependabot[bot]" 2024-10-09 02:52:17 UTC

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

[bd85e88d31] Kazuhiro NISHIYAMA 2024-10-09 03:55:28 UTC

NEWS の default gems や bundled gems のバージョンリストを自動更新するためのスクリプト tool/update-NEWS-gemlist.rb で bundled gems の新規追加にも対応できるようにしています。

[3e98abc49d] git 2024-10-09 03:56:47 UTC

bd85e88d3190556fc59ad9665b8e6f6715331696 の tool/update-NEWS-gemlist.rb の対応であらためて NEWS を更新して bundled gems の新規追加のところを単数形に修正しています。

[fc2efc2bdb] Hiroshi SHIBATA 2024-10-04 05:36:45 UTC

tool/sync_default_gems.rb で同期する default gems に win32 からリポジトリを分離した win32-registry を追加しています。

[4eda289a13] Hiroshi SHIBATA 2024-10-04 05:37:09 UTC

fc2efc2bdb5e8f48b83757d8de1ae90750150e84 で更新した同期処理で default gems の win32-registry を upstream から同期しています。リポジトリとしては分離したけど標準添付ライブラリとしては ext/win32/ の配下になるんですね。

[fc08f72621] git 2024-10-09 04:56:31 UTC

NEWS の default gems の新規追加リストに win32-registry を追加しています。

[83456d1e9a] David Rodríguez 2024-10-08 21:55:12 UTC

rubygems のサブコマンドの実装を require するところで LoadError が発生した時に無視させるようにしています。

[73834f11fa] David Rodríguez 2024-10-07 15:31:42 UTC

47db8bc01cac3b0008de62a0f6300ec00acef9b1 で bundler で rubygems の Gem::Specification#gem_dir の上書き定義を削除していたのを revert して、再定義の警告抑制のための remove_method を追加しています。

[9f812522f5] David Rodríguez 2024-10-08 19:25:23 UTC

rubygems の gem pristine で default gems も指定可能にしています。

[dee15211c1] Samuel Williams 2024-10-09 04:17:37 UTC

拡張ライブラリ socket の BasicSocket#send で BLOCKING_REGION_FD() マクロを利用していたところを rb_io_blocking_region() を利用するようにしています。

[d78bf43708] Samuel Williams 2024-10-09 04:19:05 UTC

dee15211c154cc70409a6010883140f259d1c483 と同様に拡張ライブラリ socket の UNIXSocket でも BLOCKING_REGION_FD() のかわりに rb_io_blocking_region() を利用するようにしています。

[823f29a36e] Samuel Williams 2024-10-09 04:20:33 UTC

拡張ライブラリ socket で rb_io_t 構造体の内容に直接アクセスしないように rb_io_mode() や rb_io_descriptor() といった accesesor 関数を利用するようにしています。

[5eee269866] Nobuyoshi Nakada 2024-10-09 08:55:49 UTC

tool/mkconfig.rb に magic comment の frozen-string-literal: true を追加して、必要なところにはリテラルに String#+@ をつけるようにしています。

[48410af53c] David Rodríguez 2024-10-07 20:33:53 UTC

ruhygems の Gem::Specification.all の不具合修正。

[67d6e89b0b] Hiroshi SHIBATA 2024-10-09 10:09:17 UTC

doc/maintainers.md の json のメンテナに byroot を追記しています。 [ruby-core:119212] [Misc #20746]

[3031bf6bd4] Samuel Williams 2024-10-09 08:50:16 UTC

拡張ライブラリ socket の UDPSocket の実装でも BLOCKING_REGION_FD() のかわりに rb_io_blocking_region() を利用するようにしています。

[04ddb7e808] Samuel Williams 2024-10-09 08:52:30 UTC

拡張ライブラリ socket の Socket#accpept の実装でも BLOCKING_REGION_FD() のかわりに rb_io_blocking_region() を利用するようにしています。

[438ef21a9b] Samuel Williams 2024-10-09 08:55:20 UTC

拡張ライブラリ socket の Socket#recvfrom の実装で rb_thread_io_blocking_region() のかわりに rb_io_t をそのまま渡す rb_io_blocking_region() を使うようにして rb_io_t 構造体の内容に依存しないようにしています。