ruby-trunk-changes 2023-06-23

今日は標準添付ライブラリ timeout のタイムアウト時の大域脱出に throw/catch でなく再び例外を使用するようにした実装の変更や、パーサーの不具合修正や yarp の不具合修正などがありました。

[1344de5621] Nobuyoshi Nakada 2023-06-22 11:10:13 UTC

parse.y で数値のパース時に数字のあとに "." があってそれで EOF になっている場合にそれが無視されて SyntaxError にならないという不具合(?)を修正しています。 [ruby-core:113977] [Bug #19743]

[edd488109f] Takashi Kokubun 2023-06-22 15:59:04 UTC

yarp を upstream からマージ、とのことですが 010b8a29dc152f25e6182c73b48b706dfa02c3f4ddb431c96036a46afd5ef24ab2dde4743a11a4f8 などの修正が巻き戻っているようですね。

[e8fb84265c] Jemma Issroff 2023-06-21 16:59:22 UTC

yarp が elsif や else 節の最初にブロックを持つメソッド呼び出しを書いた時に SyntaxError になる? 不具合の修正みたいです。

[711cabec26] Takashi Kokubun 2023-06-22 16:23:07 UTC

yarp を再度 upstrem の最新版と同期を取っています。

[de51a4a13e] Jeremy Evans 2023-06-22 16:11:03 UTC

標準添付ライブラリ ipaddr の IPAddr#private? で ::ffff:10.0.0.1 みたいな IPv4 のアドレスからのマッピング? をしているアドレスの場合のサポートを追加しています。 [ruby-core:112697] [Bug #19479]

[218a8d8ef1] ima1zumi 2023-06-22 17:07:19 UTC

標準添付ライブラリ reline の未使用になっていたメソッドの削除。 https://github.com/ruby/reline/pull/557

[52f8de4f21] Peter Zhu 2023-06-22 18:08:25 UTC

hash.c で T_HASH 型オブジェクトの Variable Width Allocation 対応により不要になった関数やマクロの定義を削除しています。

[b934976024] Nobuyoshi Nakada 2023-06-22 18:15:55 UTC

RCLASS_SET_ALLOCATOR() などでポインタの初期化子として NULL を書いていたところを 0 を書くようにしています。 SunC コンパイラの警告抑制のためみたいです。

[e8c9385123] Jeremy Evans 2023-06-22 18:24:40 UTC

標準添付ライブラリ timeout の実装でいつからかタイムアウト時の大域脱出に throw/catch を使うようにして rescue Exception で捕捉されないようにしていたのを、やっぱり例外を発生させる実装に戻しています。うーん、そうなのか。コミットログに判断の経緯も書いてあるけどうーん。チケットをみると throw/catch 利用に変わったのは 2.1 からみたいなので、そこそこ前ですね。 https://github.com/ruby/timeout/pull/30

[b7375770ef] Hiroshi SHIBATA 2023-06-23 03:51:31 UTC

標準添付ライブラリ timeout のバージョンを 0.4.0 に更新しています。

[00c1bd66d6] git 2023-06-23 03:52:44 UTC

b7375770ef15c7d7b3fdf14bf1964a0209881f98 に追随して NEWS の default gems のバージョンリストの timepout のバージョンも更新しています。

[73529a12bb] Nobuyoshi Nakada 2023-06-23 05:54:50 UTC

hash.c の RHASH_AR_TABLE() と RHASH_ST_TABLE() という inline 関数に RBIMPL_ATTR_RETURNS_NONNULL() をつけて NULL を返すことがないということをコンパイラに教えるようにしています。これに合わせて戻り値で分岐していたところの不要な分岐も削除しています。

[01507d2f80] Peter Zhu 2023-06-23 14:35:36 UTC

Hash オブジェクトが Variable Width Allocation 対応した時に異なる slot サイズのヒープ間を移動することを確認するテストが Sparc Solaris で失敗するとのことで skip するようにしています。