ruby-trunk-changes 2024-03-27

今日は chilled string 判定用の C API の追加や fork 時の割り込みの喪失の不具合修正などがありました。

[2b08406cd0] Étienne Barrié 2024-03-25 10:18:26 UTC

文字列オブジェクトが chilled string かどうか判定する C API rb_str_chilled_p() を追加しています。 [ruby-core:117302] [Bug #20389] [ruby-core:116382] [Feature #20205]

[19752cf4aa] Peter Zhu 2024-03-21 20:22:46 UTC

コマンドラインオプション --debug の処理の実装で SET_WHEN_UINT() というユーティリティマクロを再利用するようにリファクタリングしています。

[4bdb79618b] Gannon McGibbon 2024-03-22 20:40:42 UTC

Thread::Backtrace::Location クラスのオブジェクトを GC.compact で移動できるオブジェクトにしています。

[3e0eea644f] Peter Zhu 2024-03-23 16:08:48 UTC

Thread::Backtrace クラスの flags から RUBY_TYPED_EMBEDDABLE を消して T_TYPEDDATA 型オブジェクトの Variable Width Allocation による拡張 slot への埋め込みを無効にしています。 4bdb79618b33422551e96723827e50ab20e9abb1 で移動可能にした影響かな?

[332f4938cf] Takashi Kokubun 2024-03-26 18:21:31 UTC

C API rb_exec_recursive_outer() の Doxygen 用コメントの typo 修正。

[16cf9047c6] Takashi Kokubun 2024-03-26 18:24:40 UTC

関数 rb_exec_recursive_paired_outer() と exec_recursive() のコメントでも同様に Qtrue を true に変更する修正。

[e16086b7f2] eileencodes 2024-03-25 17:53:51 UTC

gc.c の rb_copy_wb_protected_attribute() という関数を rb_gc_copy_attributes() に解明して、rb_gc_copy_finalizer() の呼び出しもその関数内に追加しています。唯一の呼び元の init_copy() では別途 rb_gc_copy_finalizer() を呼んでいたのでリファクタリング

[696b2716e0] Takashi Kokubun 2024-03-26 18:32:09 UTC

recursive_check() という thread.c の static 関数の戻り値の型を VALUE から C の bool に変更しています。

[a7ff264477] Samuel Williams 2024-03-26 21:10:07 UTC

Kernel#fork 時に rb_threadptr_pending_interrupt_clear() を親プロセスでも呼び出してブロックしていたシグナルなどの割り込みを消していたのをやめています。子プロセスでは呼ばないでいいのかな? https://github.com/ruby/ruby/pull/10365

[b2b665eba5] crazeteam 2024-03-26 16:15:40 UTC

ドキュメントの typo 修正。

[6e34386794] Peter Zhu 2024-03-21 16:17:15 UTC

拡張ライブラリ json で例外発生時のメモリリークの修正。 rb_rescue() を利用して例外発生時の後始末をするように修正しています。

[8896ac0289] Jun Aruga 2024-03-12 16:12:08 UTC

拡張ライブラリ openssl のテストで OpenSSL::PKey::DSA の鍵長が FIPS モードで 1024 はエラーになるのに対処しているようです。

[8fa6c36492] Andrii Konchyn 2024-03-27 00:39:16 UTC

拡張ライブラリ strscan のテストで比較的新しい peek_byte と scan_byte メソッドのテストを TruffleRuby で skip するようにしています。

[e51435177e] Hiroshi SHIBATA 2024-03-19 02:37:11 UTC

rubygems 内に vendoring されている resolv のバージョンを 0.4.0 に更新しています。

[0c114dfcc7] Nobuyoshi Nakada 2024-03-27 02:45:01 UTC

RubyVM::InstructionSequence の生成の関数 iseqw_new() で渡された構造体の rb_iseq_t::wrapper メンバーが存在していた場合にそれが同じく ISeq 用の T_TYPEDDATA であるかどうかを確認するようにしています。

[16c18eafb5] Nobuyoshi Nakada 2024-03-27 03:53:43 UTC

a31ca3500d995b6706f94ff72166d699c5faeb27 で RubyVM::InstructionSequence を GC.compact で移動可能にした変更を revert しています。 0c114dfcc79cb4690705ec88ebf9147e5c03702d のチェック追加をみるになにか漏れがあって移動に追随できなくて不正な参照ができる可能性があったみたいですね。

[66a0e8b008] Hiroshi SHIBATA 2024-03-27 02:07:25 UTC

25d74b9527cd525042ad0b612b794fa331d3a318 の例外メッセージの変更の影響で bundled gems のテストで失敗するものを GitHub Actions でエラー無視させてた d9234ba87b7e48381c8c44ef4a302ef368ee0ee7 を revert しています。

[6498c43995] git 2024-03-27 06:59:42 UTC

gems/bundled_gems と NEWS の net-smtp のバージョンを更新しています。

[cbc11bcb63] Nobuyoshi Nakada 2024-03-27 06:48:41 UTC

tool/downloader.rb で bundled gems のダウンロード時にバージョンが ".pre" つきの時にはダウンロードが HTTP ステータス 400系(403 Forbidden や 404 Not Found)で失敗しても無視するようにしています。

[44b5c912da] Cody Cutrer 2023-09-14 17:35:50 UTC

bundler の man ページの更新。