ruby-trunk-changes 2024-06-02

今日は主に C API の rb_str_chilled_p() の削除や T_DATA 型のクラスの定義に TypedData を利用するように移行する変更などがありました。

[fd74614059] Nobuyoshi Nakada 2024-06-01 11:54:58 UTC

parse.y の独自の配列構造体 rb_parser_ary_t の解放をする rb_parser_ary_free() 関数で各要素の解放用のコールバック関数のための関数ポインタの変数を用意してそこへキャストして代入していたのをやめて直接 rb_parser_ast_token_free() を呼ぶようにしています。

[fc495951b1] Tanaka Akira 2024-06-01 16:12:26 UTC

標準添付ライブラリ tempfile の Tempfile クラスの rdoc 用コメントにキーワード引数 anonymous についてと Tempfile.create の利用を推奨する旨の記述を追加しています。

[a7d0a91009] Nobuyoshi Nakada 2024-05-28 01:31:14 UTC

gc.c の newobj_alloc() で slot の確保に失敗した時に異常終了させていたのを NoMemoryError 例外を発生させるように修正しています。環境変数 RUBY_THREAD_VM_STACK_SIZE を非常に大きくした時に異常終了してしまってたのでその対策のため。

[cedc7737b6] Nobuyoshi Nakada 2024-05-27 09:20:04 UTC

AST のノードの rb_node_dstr_t 構造体の共用体に nd_cflag という項目を追加して rb_node_dregx_t という別の構造体を用意していたものを同じ構造体を使いまわして表現するようにしています。また node の構造体の型を示すのに struct RNode_XXX ではなく typedef した rb_node_xxx のほうを利用するようにしています。

[2889ed1bcb] Nobuyoshi Nakada 2024-05-27 06:57:38 UTC

cedc7737b6a614de1ee2aaa8d66bbca217d9fa8f の続きで parse.y で正規表現のノードを一旦 rb_node_dregx_t 型の変数に格納するようにしています。デバッガで確認しやすくするためみたいです。

[ae203984ff] Nobuyoshi Nakada 2024-05-27 09:06:40 UTC

parse.y で flip-flop 用の node を作る時にこれも一度変数に node を格納するようにしてデバッガで調査しやすくしているようです。

Universal Parser 用の構造体 rb_parser_config_t の関数ポインタのメンバー string_value_cstr を削除しています。

[d03c61241a] Tanaka Akira 2024-06-02 01:17:36 UTC

Time クラスの rdoc 用コメントに Time オブジェクトの内部表現と精度やうるう秒の扱いの環境依存についての記述を追記しています。

[56fe5ad778] Tanaka Akira 2024-06-02 01:18:56 UTC

time.c の rdoc 用コメントから d03c61241a38cb16ed185d609af2d3dc69f66ba3 の追記で冗長/古くなってた Time の 内部表現についてのコメントを削除しています。

[07a8d02c0c] git 2024-06-02 06:59:30 UTC

gems/bundled_gems と NEWS の net-ftp と net-imap のバージョンをそれぞれ 0.3.5 と 0.4.12 に更新しています。

[733c72e6f0] Nobuyoshi Nakada 2024-06-02 08:21:22 UTC

tool/rbinstall.rb で $destdir の値を途中で出力していたのを一番最後に色付けして出力するようにしています。デバッグのためかな。

[26bd4144f7] Nobuyoshi Nakada 2024-06-02 04:42:34 UTC

make nightly と yesterday という、(JST での?)前日いっぱいまでの commit まで巻き戻してからビルドして install するターゲットを追加しています。

[3eba84fba0] Nobuyoshi Nakada 2024-06-02 10:00:32 UTC

doc/contributing/building_ruby.md に GNUE make のバージョン 3 には並行実行についての不具合(機能不足?)があるので 4 以降を使うことを推奨する旨追記しています。

[730e3b2ce0] Jean Boussier 2024-05-30 12:55:32 UTC

C API の rb_str_chilled_p() を公開 API から消しています。通常の文字列と同様変更可能になったので拡張ライブラリから判定する必要がなくなったため。 [ruby-core:116382] [Feature #20205]

[7c12169230] Jean Boussier 2024-05-30 16:12:29 UTC

クラスの定義に Data_Wrap_Struct() を利用していたところを rb_data_type_t による型定義をして TypedData_Wrap_Struct() を利用するように変更しています。 https://github.com/ruby/ruby/pull/10872