ruby-trunk-changes 2024-04-06

今日は主に parser の不要な処理削除や標準添付ライブラリ reline の不具合修正などがありました。

[dbe8886f4d] Peter Zhu 2024-03-21 18:24:06 UTC

deprecated にしていた rb_gc_force_recycle() という C API を削除しています。

[f87e60f1f4] Joshua Broughton 2024-04-05 16:25:45 UTC

irb の例外のバックトレースから不要な部分を削る処理を前のほうに移動しています。よくわかってませんが rails のバックトレース除去の処理などとの衝突を避けるためみたいです。

[46ebc48e62] Peter Zhu 2024-04-05 17:45:12 UTC

GC.add_stress_to_class の rdoc 用コメントに :nodoc: タグを追加してドキュメント生成を抑制しています。デバッグ用のビルド時のみ定義されるメソッドなのでとのこと。

[1f84e1099e] Peter Zhu 2024-04-05 17:46:47 UTC

46ebc48e62e80426da78cdec6d2fbcf267b0ddcf と同様のデバッグ用のメソッド GC.remove_stress_to_class の rdoc 用コメントに :nodoc: タグを追加してドキュメント生成を抑制しています。

[e50590a541] Peter Zhu 2024-04-05 20:13:57 UTC

Symbol#inspect の実装で戻り値が T_STRING 型オブジェクトになっていることをチェックする RUBY_ASSERT() を追加しています。

[37490474c4] Peter Zhu 2024-04-05 20:14:24 UTC

関数 rb_sym2str() でも同様に戻り値が T_STRING 型オブジェクトまたは 0 (Qfalse) になっていることをチェックする RUBY_ASSERT() を追加しています。なにかデバッグ中のようですね。

[a80e8ba1c4] Peter Zhu 2024-04-05 20:14:35 UTC

同様に symbol.c の set_id_entry() でデバッグのためと思われる引数のオブジェクトのタイプをチェックする RUBY_ASSERT() を追加しています。

[43dcf4d1a6] Peter Zhu 2024-04-05 20:14:45 UTC

symbol.c の get_id_serial_entry() でもデバッグのためか引数の enum id_entry_type の値に対応して期待した戻り値のオブジェクトタイプになっているかのチェックをする RUBY_ASSERT() を追加しています。

[c6c75f3399] git 2024-04-05 21:44:54 UTC

NEWS の default gems のバージョンリストの prism のバージョンを更新しています。

Universal Parser 用の構造体 rb_parser_config_t の不要になった関数ポインタのメンバー fixnum_p、symbol_p、ary_clear、undef_p を削除しています。

[f022a700bf] yui-knk 2024-04-06 00:39:45 UTC

ISeq へのコンパイル時の関数 rb_iseq_compile_node() で引数の T_IMEMO 型オブジェクトのサブタイプのチェックをしていたのをやめています。

[c2d02a6ac2] Mari Imaizumi 2024-04-06 09:24:47 UTC

標準添付ライブラリ reline のカーソル表示の制御処理で端末情報が terminfo のデータベースから得られない時に例外発生させないで処理をスキップさせるようにしているようです。 https://github.com/ruby/reline/issues/447 https://github.com/ruby/reline/issues/543 https://github.com/ruby/reline/pull/673

[b006919200] Nobuyoshi Nakada 2024-04-06 09:00:56 UTC

gc.c の objspace_each_pages() という関数は GC_CAN_COMPILE_COMPACTION マクロが定義されている時だけコンパイルするように preprocessor 分岐を追加しています。