ruby-trunk-changes 2022-08-19

今日は標準添付ライブラリに syntax_suggest を追加する変更などがありました。

[c53667691a] Nobuyoshi Nakada 2022-08-18 14:25:05 UTC

Regexp#match の rdoc 用コメントに offset 引数を byte 数でなく文字数での指定であるという記述の修正とサンプルの追加をしています。

[7c1ed47097] Nobuyoshi Nakada 2022-08-18 14:33:23 UTC

テスト用ライブラリ test/unit 自体のテストに assert_pattern_list という assertion メソッドのテストを追加しています。

[2652b0da6b] Nobuyoshi Nakada 2022-08-18 15:16:44 UTC

fe61cad7490da8a879597f851f4a89856d44838e で追加した Thread::SizedQueue#pop のテストの Thread#join での待ち時間を少し伸ばしています。また ensure 節で Thread leak を防ぐため kill した Thread の join を追加しています。

[8c44b07fa4] git 2022-08-18 15:17:06 UTC

version.h の日付更新

[d903e76726] Nobuyoshi Nakada 2022-08-18 14:42:53 UTC

テスト用ライブラリの assert_pattern_list という assertion メソッドの pattern_list 引数に文字列を受付けるようにしています。

[f1ccfa0c2c] Matt Valentine-House 2022-07-13 12:18:03 UTC

ここから lldb 用のコマンド実装の追加の変更が続きます。まずは misc/ の下に lldb 用の python スクリプトを追加して元からあった misc/lldb_cruby.py から切り出したり新たなコマンドを拡張するためのフレームワークみたいなのを整備しているみたいです。 [ruby-core:109195] [Feature #18910]

[281bcc8e64] Matt Valentine-House 2022-07-13 12:18:45 UTC

misc/lldb_cruby.py から heap_page コマンドを独立したファイルに分離しています。 [ruby-core:109195] [Feature #18910]

[a4ef2f1672] Matt Valentine-House 2022-07-13 12:19:41 UTC

misc/lldb_cruby.py から rclass_ext コマンドを別ファイルに分離しています。 [ruby-core:109195] [Feature #18910]

[b26aec9daa] Matt Valentine-House 2022-07-13 17:14:44 UTC

misc/lldb_cruby.py から分離するファイルを misc/ 直下から misc/lldb_rb/ というサブディレクトリ内に移動しています。 [ruby-core:109195] [Feature #18910]

[92603bbd69] Matt Valentine-House 2022-08-18 10:44:25 UTC

lldb 用の python スクリプト内で lldb_init 関数の呼び出しを RbBaseCommand というクラスのクラスメソッドに移動しています。 [ruby-core:109195] [Feature #18910]

[59da26789f] git 2022-08-18 17:25:54 UTC

misc/lldb_rb/commands/command_template.py の行末の空白除去。

[f34280ec6b] Nobuyoshi Nakada 2022-08-17 08:41:48 UTC

sprintf.c で文字列の coderange のクリアをしてたのをその場で再スキャンして設定するようにしています。

[99116da7f0] Nobuyoshi Nakada 2022-08-17 07:10:51 UTC

sprintf.c の rb_str_format() でも coderange をクリアしていたのを必要な部分だけ再スキャンして設定するように最適化しています。

[35c794b26d] Nobuyoshi Nakada 2022-08-18 09:31:34 UTC

file.c の str_shrink() という関数で文字列の capacity を切り詰めるだけの処理でも Windows 環境での不具合で coderange が変化してる場合があるとのことでクリアしていたのが 725626d8905fe1ac4a2cf1c3e2db6412bf8f381f で修正されて不要になったとのことで削っています。

Qnil との直接比較していたところを NIL_P() マクロを利用するリファクタリング

parse.y の trailer という [] や {} の中の要素のデリミタのあとに置かれるノードで空と改行コードどちらかというのが列挙されてたところを opt_nl という同じ意味のノードに置き換えるリファクタリング

[a50df1ab0e] schneems 2022-07-26 20:16:21 UTC

tool/sync_default_gems.rb に syntax_suggest という default gem の同期用に upstream リポジトリ設定を追加しています。また gem_prelude.rb に起動時の syntax_suggest の読み込みを追加しています。 [ruby-core:105191] [Feature #18159]

[490af8dbdb] schneems 2022-07-26 20:21:09 UTC

a50df1ab0eb312e5cdcf010d2c1b362ec41f3c59 に続いて default gems の syntax_suggest を upstream からマージしています。標準添付ライブラリの追加ですね。中身はみてませんがチケットによると end の閉じ忘れによる SyntaxError をわかりやすくする、というのが主な動機みたいですが、名前からしてもうちょっと一般的に修正方法の候補を提示するエラーメッセージを出すようなものでしょうか。 [ruby-core:105191] [Feature #18159]

[61ab06fe8a] git 2022-08-19 01:03:07 UTC

NEWS の default gems のバージョンリストのところに syntax_suggest を追加しています。これはバージョン変更時に自動的に追記するフックによるものですね。 syntax_suggest の追加そのものについての NEWS の追記はまだです。

[bd0fe26b81] Nobuyoshi Nakada 2022-08-19 01:20:13 UTC

doc/time/in.rdoc および doc/time/zone_and_in.rdoc のタイムゾーンのアルファベット1文字略記についての記述を修正しています。

[17d0e5bee7] Hiroshi SHIBATA 2022-08-19 04:20:17 UTC

tool/sync_default_gems.rb の syntax_suggest の upstream repo を ruby 組織のものに変更しています。

[6bcb473d9c] Yusuke Endoh 2022-08-19 09:33:33 UTC

標準添付ライブラリ error_highlight で TypeError と ArgumentError に ErrorHighlight::CoreExt を extend して to_s を上書きするのをコメントアウトしていたのをやめて有効にしています。