ruby-trunk-changes 2022-04-21

今日は拡張ライブラリ pathname に Pathname#lutime を追加する機能追加やブロックパラメーター内で splat して受け取るダイナミック変数に _ ではじまる変数を書いた時にブロックの外のスコープの同名の変数を上書きしていた不具合修正などがありました。

[dcc42d4688] 卜部昌平 2022-04-21 05:54:00 UTC

C API rb_io_set_nonblock() の Doxygen 用コメントにこの関数で nonblocking mode に設定しても C のレベルの fd に設定されるだけなので ruby の IO#read メソッドなどはブロックすることを追記しています。

[b4f87ff838] git 2022-04-21 06:05:52 UTC

version.h の日付更新

[ee48c9cda6] Nobuyoshi Nakada 2022-04-21 05:16:26 UTC

Windows 版の fcntl() の代替実装で rb_w32_set_nonblock2() を利用するようにして pipe に対する操作を受付けるように修正しています。

[3ddf6ad4d2] Nobuyoshi Nakada 2022-04-21 07:04:36 UTC

ブロックパラメーター内でダイナミック変数 "_" を配列を splat して受け取るような場所に書くと、ブロックの外のスコープの "_" を上書きしてしまっていた不具合を修正しています。よく気がついたなこんなの。 [ruby-core:107883] [Bug #18629]

[cb02324c4e] Akinori MUSHA 2022-04-03 17:03:09 UTC

拡張ライブラリ pathname に Pathname#lutime を追加しています。File.lutime へ委譲する実装ですね。