ruby-trunk-changes 2024-06-11

今日は主に標準添付ライブラリ reline の更新や magic comment の shareable_constant_value を利用した時の ISeq の binary フォーマットへの変換の不具合修正などがありました。

[e8bd745c17] tomoya ishida 2024-06-10 13:57:21 UTC

標準添付ライブラリ reline の Reline::Terminfo の定義のために fiddle を require する時の警告を抑制するため一時的に $VERBOSE を nil にセットするようにしています。fiddle の bundled gems 化のために警告を出すようにしたからですね。 https://github.com/ruby/reline/pull/721

[3ebab4b64d] Andrew Konchin 2024-06-07 16:01:53 UTC

spec/ruby に upstream から最新版をマージしています。

[3cc9a12679] Andrew Konchin 2024-06-10 10:19:52 UTC

rubyspec の RUBY_DESCRIPTION 定数についてのテストを RUBY_ENGINE が ruby 以外か RbConfig::TOPDIR が設定されている時? に実行除外するようにしています。コミットログによると YJIT が有効な時に skip しようとしてるみたいですけどそれにしては guard の条件がよくわからないですね。

[1d0d8a89d4] tomoya ishida 2024-06-10 15:31:28 UTC

標準添付ライブラリ reline で Reline::Terminfo が利用できない時 fallback として delete などのキーに対応する エスケープシーケンスを決め打ちで持つようにしています。 https://github.com/ruby/reline/pull/722

[556bbf64e0] Peter Zhu 2024-06-10 15:11:18 UTC

Symbol#inspect の GC 関連の不具合のためのテストを YJIT/RJIT が有効な時に skip していたのを削っています。 1471a160ba1bbdca9d6c4b21260793c1414253f3 が修正になったみたいです。

[f0001a4fa7] Jean Boussier 2024-06-10 13:12:54 UTC

magic comment の shareable_constant_value が指定されていてリテラルを Ractor 間で共有できるオブジェクトにするため特殊なメソッドを呼ぶための VM が内部的に使う rb_mRubyVMFrozenCore が ISeq 内に埋め込まれていたので、ISeq のバイナリフォーマットへの読み書き時にうまく処理されなかったので VM_SPECIAL_OBJECT_VMCORE という整数の定数を埋め込むように修正しています。 [ruby-core:118268] [Bug #20569]

[6086bae5c8] Koichi Sasada 2024-06-11 07:13:27 UTC

rubyspec のドライバの mspec で一時ディレクトリを作成する helper で一時ディレクトリの作成時に umask で world-writable にならないよう other の write 権限を落とすようにしています。また元々対象のディレクトリが存在した場合も権限をチェックして world-writable だったら例外を発生させて中断させるようにしています。

[0ccb80d6bf] KJ Tsanaktsidis 2024-06-09 11:15:39 UTC

configure でコンパイラオプションの -fstack-protector や -mbranch-protection、-D_FORTIFY_SOURCE などのオプションを格納する $hardenflags という変数を導入してこれを $cflags に追加するようにして、$XCFLAGS にこれらのオプションを追加していたのをやめています。 configure 時に明示的に CFLAGS などの変数でオプションを指定した時にオプション検出のためのコンパイルにも含まれてしまってうまく設定されないという問題を回避するためみたいです。 [ruby-core:116039] [Bug #20154] [ruby-core:118150] [Bug #20520]

[b824b13ee9] Jun Aruga 2024-06-11 11:04:16 UTC

Travis-CI の設定でエラー時にメールそ送信するアドレスを変更しています。うまくメールが届かなかったからみたいです。