ruby-trunk-changes 2022-06-07

今日は Range#cover? の endless Range での挙動の変更や Module#undefined_instance_methods というメソッドの新規追加など多くの変更がありました。

[66a9e452bb] Nobuyoshi Nakada 2022-06-06 12:19:24 UTC

標準添付ライブラリ rdoc の ri のテストで pager コマンドのダミーとしてなにもしないコマンド ":;" を渡していたのを Windows 環境では type nul というのを渡すようにしています。また他の環境でも true コマンドを指定するようにしています。

[6fc16e748e] Alexander Ilyin 2022-06-06 14:16:36 UTC

標準添付ライブラリ open-uriURI.open の rdoc 用コメントのマークアップのタグ閉じ漏れの修正。

[f2f8c0b39b] git 2022-06-06 15:07:09 UTC

version.h の日付更新

[b737998d25] Burdette Lamar 2022-06-06 15:37:18 UTC

標準添付ライブラリ fileutils の rdoc 用コメントの追記。

[7cda7fbbdc] Jeremy Evans 2022-06-06 16:57:32 UTC

Module#undefined_instance_methods というメソッドを追加して Module#undef で未定義にされたメソッドの一覧が取得できるようにしています。 [ruby-core:76732] [Feature #12655]

[c5475f4269] Jeremy Evans 2022-04-22 02:46:17 UTC

Range#cover? が endless Range を receiver と引数の両方に渡した場合に期待と異なる結果を返すことがあったので修正しています。コミットログだと beginless range のほうの挙動を変更したというふうに読めるけど実装は逆で開始点が同じ endless range 同士が true を返すようになっていますね。 [ruby-core:105176] [Bug #18155]

[653e517eef] Noah Gibbs 2022-06-06 17:47:24 UTC

YJIT の Rust 実装に取り込む C のシンボルや型を追加しています。 https://github.com/ruby/ruby/pull/5943

[c85d1cda86] Jeremy Evans 2022-03-12 05:43:47 UTC

Module#const_source_location を autoload が設定されていたのに直接ロードされて定義された定数に対して呼ぶとファイル名が取得できていなかったのを修正しています。 [ruby-core:107846] [Bug #18624]

[ec3542229b] Jeremy Evans 2022-06-06 20:50:03 UTC

正規表現リテラル内にはコメントが書ける場合がありますが、そこでバックスラッシュで始まる文字列がエスケープシーケンスとして解釈されて parse error になる場合があったので無視させるようにしています。見慣れない部分ですが正規表現のパーサーのほうも変更されていますね。 [ruby-core:105972] [Bug #18294]

[cfcf33f127] Jun Aruga 2022-05-24 14:00:53 UTC

いろんなコンパイラオプションを試す GitHub Actions の workflow .github/workflows/compilers.yml で MJIT のテストが失敗していたのを gcc-11 への -Wl,-z,now というオプションを LDFLAGS に渡すようにして skip していたテストを戻しています。 [ruby-core:108549] [Bug #18781]

[dbfb3b1917] Nobuyoshi Nakada 2022-06-07 00:18:35 UTC

標準添付ライブラリ rdoc の C のソースコードを parse するための正規表現を定数に切り出し rb_attr() および rb_define_attr() の引数に渡す真偽値を 0 か 1 以外のマクロ定数や予約語も受付けるように拡張しています。

[9d927204e7] Yusuke Endoh 2021-11-30 07:27:12 UTC

Exception#inspect が例外メッセージも含んだ文字列を返すため改行をそのまま出力していたのをエスケープして埋め込むように変更しています。 [ruby-core:105276] [Bug #18170]

[082c2d1b05] Nobuyoshi Nakada 2022-06-07 02:44:47 UTC

dbfb3b1917dbe89816ffeea6046d2743c32bf6b6 で rdoc の C ソースコードの parse 用の正規表現を切り出した定数を rdoc によるドキュメント化をさせないように :stopdoc: タグを追加しています。

[b9f030954a] Yusuke Endoh 2022-06-07 02:50:58 UTC

9d927204e7b86eb00bfd07a060a6383139edf741 で Exception#inspect の改行をエスケープしたのを revert しています。

[11b9dd8ccb] Hiroshi SHIBATA 2022-06-07 06:24:48 UTC

標準添付ライブラリ did_you_mean を upstream から最新版をマージしています。

[f075be3dcb] Yusuke Endoh 2022-06-07 08:40:03 UTC

標準添付ライブラリ error_highlight で Exception#to_s を再定義していたのを Exception#detailed_message を再定義するように変更しています。 https://github.com/ruby/did_you_mean/pull/177

[b1e6e58cd1] Jean Boussier 2022-06-07 08:51:28 UTC

9125374726fbf68c05ee7585d4a374ffc5efc5db で追加した GVL の確保/解放のコールバック関数登録の C API のテストが CI で不安定なので fork した子プロセスで Kernel#exit! で終了させたり、子プロセス内で assert_predicate を呼んでたのをチェック対象を pipe 経由で親プロセスに渡してそこで assertion メソッドを呼ぶようにするなどの変更をしています。

[f50432fba8] David Rodríguez 2022-06-07 08:46:30 UTC

bundler のテストで実行時間を測っているテストで許容される実行時間を伸ばしています。実行時間をテストに入れるというの環境の依存が大きくてメンテ大変そう。