ruby-trunk-changes 2022-08-07

今日はビルドプロセスの修正や macOS での $LOAD_PATH 初期化処理の修正などがありました。

[f245b425af] Nobuyoshi Nakada 2022-08-06 14:53:13 UTC

process.c で proc_syswait() を定義する際に rb_syswait() の引数の int と VALUE のサイズが等しいかチェックするのに SIZEOF_LONG を利用してしまっていたところを SIZEOF_VALUE に修正しています。

[e545cfad20] Nobuyoshi Nakada 2022-08-06 15:02:38 UTC

f245b425af2e560a85edac85ad4426a04b01e4de の再修正でそもそも proc_syswait() から rb_syswait() を呼び出す時に int にキャストしていたのを rb_pid_t にキャストするようにして preprocessor での分岐を不要にしています。

[6d742c9412] git 2022-08-06 15:03:21 UTC

version.h の日付更新

[591ee9d068] Nobuyoshi Nakada 2022-08-07 04:09:46 UTC

rb_enc_mbcput の doxygen 用コメントに戻り値についての記述を追加しています。

[f2423be49d] Nobuyoshi Nakada 2022-08-07 05:46:59 UTC

起動時の $LOAD_PATH を初期化する ruby_init_loadpath() で macOS 用の preprocessor 分岐で LOAD_RELATIVE が定義されている時に libruby_path の文字列オブジェクトを複製して使うようにしています。 libruby_path は他で破壊的に変更してしまう可能性があるからみたいです。

[0bb5525eb2] Nobuyoshi Nakada 2022-08-07 08:01:22 UTC

tool/rbinstall.rb で gemspec ファイルに対応する .rb ファイルを検出する際にサブディレクトリが削られていたのを修正しています。

[03f86565a6] Nobuyoshi Nakada 2022-08-07 08:57:52 UTC

f310ac1cb2964f635f582862763b2155aacf2c12rubygems のエラー時のバックトレース表示がデフォルトで on になったために rubyspec のテストでバックトレースが表示されてしまっていたものを Gem::SilentUI を利用するようにして黙らせています。

[e5e6b87e26] Nobuyoshi Nakada 2022-08-06 11:56:23 UTC

ext/extmk.rb の atomic_write_open というメソッドでファイルを開く時の mode に "x" を追加して exclusive access mode を利用してプロセス間の競合しないように開くようにしています。 並列ビルドした時などのためかなぁ。