ruby-trunk-changes 2022-12-22

今日は主に Data から作ったクラスのインスタンスメソッド with の追加や C のバックトレース取得の DWARF 5 & YJIT 対応、power_assert のバージョン更新と NEWS の整理などがありました。

[c7c006cc68] Nobuyoshi Nakada 2022-12-20 17:06:03 UTC

NEWS でチケット参照以外のリンクも footer を利用しているものがあってそれは表示上は "[]" で括る必要がないのに "[]" を表示するために "[[ ... ]]" と二重にかこんでいたので削除しています。

[befc99c008] Nobuyoshi Nakada 2022-12-21 03:52:44 UTC

tool/update-NEWS-refs.rb で NEWS のリンク用の footer の URL 部分のインデントを揃えるようにしています。

[6af6857ecf] Soutaro Matsumoto 2022-12-21 13:11:51 UTC

tool/rbs_skip_tests というファイルを追加して make test-bundled-gems で rbs のテストで skip するテストの指定を列挙しています。 https://github.com/ruby/ruby/pull/6862

[86f0128efe] BurdetteLamar 2022-12-19 17:38:02 UTC

標準添付ライブラリ net/http の rdoc 用コメントの HTTP response のクラスの参照 URL に Wikipedia に加えてさらに RFCMozilla のサイトなどを追加しています。うーん、毎回書いてるけどこれいるのかなぁ。

[276b84f8ed] BurdetteLamar 2022-12-20 16:52:26 UTC

86f0128efe687a9db2756c9902b4a28f26981b1b の標準添付ライブラリ net/http の rdoc 用コメントの追記で誤って削ってしまってた行の復活。

[172dc98c94] BurdetteLamar 2022-12-20 21:10:51 UTC

86f0128efe687a9db2756c9902b4a28f26981b1b と同じく標準添付ライブラリ net/http の HTTP Response のステータスコード別のクラスの rdoc 用コメントに参照 URL を RFCMozilla のサイトを追加。

[98fbebf110] Nobuyoshi Nakada 2022-12-21 14:59:34 UTC

String#match や String#match? の rdoc 用コメントの typo 修正。

[398aaed2f0] Nobuyoshi Nakada 2022-12-21 15:33:44 UTC

tool/sync_default_gems.rb の upstream からのコミットの cherry-pick 時のコミットログの整形で Co-authored-by の記述を行頭にあるものだけ抜き出すようにしています。また余分な改行を削っています。

[99cee85775] Ufuk Kayserilioglu 2022-12-22 00:27:38 UTC

3.2 から追加された Data クラスのインスタンスであるクラスに with メソッドを追加して、指定した attr を変更した新たなインスタンスを返すようにしています。Data で作ったクラスのインスタンスは attr の値が変更できない(immutable)なので値を変更したインスタンスを作るためのショートカットとして便利なメソッドとして追加したという感じです。 https://github.com/ruby/ruby/pull/6766 [ruby-core:109850] [Feature #19000]

[4e6b4cce80] Takashi Kokubun 2022-12-22 00:44:38 UTC

NEW の Data のエントリのサンプルコードに 99cee85775bc5656b942bf4e1b0568a8f40addcd で追加した Data#with を使う例を追記しています。 [ruby-core:109850] [Feature #19000]

[2537182063] Takashi Kokubun 2022-12-22 00:45:53 UTC

99cee85775bc5656b942bf4e1b0568a8f40addcd4e6b4cce8007a3a174cc2a715ffd21a56edfddd4 の続きで 4e6b4cce8007a3a174cc2a715ffd21a56edfddd4 で追加した NEWS のサンプルの行の順序を入れ替えて with の結果は receiver を変更しないことが明確になるようにしています。 [ruby-core:109850] [Feature #19000]

[67ef3cd3cc] Takashi Kokubun 2022-12-22 00:56:41 UTC

650a20a3e1205f47224a987676cdbad7d826d597 でスキップをやめた Ractor のテストのうち mswin 環境でたまに失敗するものを mswin ではスキップするようにしています。

[5b76a8ed56] Takashi Kokubun 2022-12-22 01:41:00 UTC

NEWS に irb の新規組み込みコマンドについて追記しています。

[5b85e4040e] Kazuki Tsujimoto 2022-12-22 02:12:59 UTC

gems/bundled_gems の power_assert のバージョンを 2.0.3 に更新しています。

[89a66f20d8] git 2022-12-22 02:34:24 UTC

5b85e4040e130777ab1652a1cbfcbfa170bcc799 の gems/bundled_gems の power_assert のバージョン更新を revert しています。自動的な変更だと思うけどなんでだろ。 GitHub の tag がまだ push されてなかったとかかな。

[937299ede1] Yusuke Endoh 2022-12-18 09:47:19 UTC

NEWS の Thread.each_caller_location についてのエントリの typo 修正。

[dd338ae124] Yusuke Endoh 2022-12-18 09:48:02 UTC

NEWS の Thread::Queue や Thread::SizedQueue の変更についてのエントリの typo 修正。

[2811d9d224] Yusuke Endoh 2022-12-18 10:18:35 UTC

NEWS の Module#include した時に取り込まれる定数が class/module 文で衝突している時の挙動の変更についてのエントリの英文を修正しています。 [Feature #18832]

[1e1d7047fc] Hiroshi SHIBATA 2022-12-22 03:25:00 UTC

NEWS に default gems の logger の GitHub の release ページへのリンクを追加しています。

[e3847f39a1] Hiroshi SHIBATA 2022-12-22 03:27:09 UTC

e3847f39a199407059349f19a98cbe790d08f0cd で NEWS に logger の release ページへのリンクを貼ってましたがこれは例として貼ってるものだったみたいなので文言を少し修正しています。

[4e6c44e297] Nobuyoshi Nakada 2022-12-22 03:48:11 UTC

NEWS の乱数生成エンジンの C API の変更についてのエントリの英文を修正しています。

[b7bb14b96e] Kazuki Tsujimoto 2022-12-22 04:05:09 UTC

Time#deconstruct_keys の rdoc 用コメントに参照できるキー名のリストを追記しています。

[ae455a129e] zverok 2021-12-30 18:52:42 UTC

TracePoint.allow_reentry メソッドの rdoc 用コメントにサンプルコードを追記して call-seq もブロックを受け付けるように書いてなかったので修正しています。

[4213f42555] Jeremy Evans 2022-12-22 05:02:43 UTC

TracePoint の ccall や c_return の event type でのコールバックには TracePoint#binding が常に nil を返すように変更しています。

[1e193c78d2] Jeremy Evans 2022-12-22 05:05:08 UTC

NEWS の TracePoint#enable のエントリの説明を修正しています。 [Bug #16889]

[186b5c0086] Takashi Kokubun 2022-12-22 05:49:30 UTC

89a66f20d8701f30f3d9952ae62a02fdefcd166b で gems/bundled_gems の power_assert の更新が revert されてしまっていたのでそれを revert して再度 2.0.3 に更新しています。

[af0ea88b30] Kazuhiro NISHIYAMA 2022-12-22 06:02:36 UTC

NEWS の footer の GitHub へのリンクの参照名を修正しています。

[43f4093a31] Nobuyoshi Nakada 2022-12-21 11:54:24 UTC

regexec.c の C の関数定義のスタイル修正。

[bb4cbd0803] Takashi Kokubun 2022-12-22 06:46:15 UTC

MJIT の組み込みクラスの ruby 実装のファイル群を lib/mjit/ から lib/ruby_vm/mjit/ 配下に移動しています。 https://github.com/ruby/ruby/pull/6989 [ruby-core:111369] [Misc #19250]

[454c00723a] Nobuyoshi Nakada 2022-12-21 14:17:37 UTC

Regexp.linear_time? の実装を Regexp.new の引数処理の部分と共有させるリファクタリング

[298176f23a] Kazuki Tsujimoto 2022-12-22 07:20:23 UTC

NEWS の bundled gems のバージョンリストを 186b5c0086a3b7b02b19f58aeda09016ee1c3d52 に追随させて power_assert のバージョンを更新しています。

[fe7190a8c1] Hiroshi SHIBATA 2022-12-22 08:47:34 UTC

標準添付ライブラリ optparse のバージョンを 0.3.1 に更新しています。

[ed81d0f5f6] git 2022-12-22 08:49:43 UTC

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

[2445a4c5b7] Yusuke Endoh 2022-12-21 13:13:22 UTC

addr2line.c で C のバックトレースを得るために DWARF のフォーマットを解析する時に .debug_line_str というセクションも利用するようにしています。 DWARF 5 では位置情報のためにこのセクションが利用されるみたいです。

[c827d724b7] Yusuke Endoh 2022-12-21 13:18:48 UTC

2445a4c5b705e6a4bc5113c25d8a6684d0a1df82 の続きで addr2line.c で DWARF 5 の行番号を得るための対応を追加しているようです。

[78826ad486] Yusuke Endoh 2022-12-21 15:51:46 UTC

2445a4c5b705e6a4bc5113c25d8a6684d0a1df82 および c827d724b767a4624b9a3a00c61f181aaf6aef7e の続きで addr2line.c の DWARF フォーマット対応の追加修正。 YJIT を有効にしている場合 Rust は現在 DWARF 4 のデバッグ情報を吐き出すようなので C のコンパイラが DWARF 5 を出力している場合 2つの DWARF バージョンが併存することになるみたいでバージョンによって利用する section を変更するようにしているようです。これは大変。

[e61e4ae60b] Nobuyoshi Nakada 2022-12-22 06:59:31 UTC

454c00723a24916daeedde993a8429ab508576d3Regexp.new と Regexp.linear_time? の引数処理を共有したリファクタリングで切り出した関数 reg_extract_args() で生成した Regexp インスタンスを戻り値で返すようにしています。 Regexp.linear_time? の実装で不要な分岐をなくすため。