ruby-trunk-changes 2020-09-02

今日は警告の挙動をカスタマイズする Warning.warn メソッドにキーワード引数として category を渡すようにする変更や Range の max, minmax などの変更の revert などがありました。

[6b43200948] David Rodríguez 2020-09-01 11:46:53 UTC

tool/sync_default_gems.rb で bundler の同期時に man/ 配下のファイルを Dir.glob で展開するようにしています。 FileUtils.rm_rf にワイルドカードつきのパスを渡していましたが自動で展開されないので事前に Dir.glob しておくように修正しています。

[be9dbe1c3e] Jeremy Evans 2020-08-31 21:19:23 UTC

configure.ac の pthread_setname_np() の確認のために渡す引数の format 文字列の引数の順序が間違ってたのを修正しています。 [ruby-dev:50643] [Bug #15178]

[f6822e4ed0] Nobuyoshi Nakada 2020-09-01 10:43:15 UTC

gc.c のデバッグ用出力や rb_bug() でのフォーマット文字列での指示子に PRIdSIZE などのマクロを適切に使うようにしたり引数に明示的キャストを追加したりしています。

[41cf17bef0] Nobuyoshi Nakada 2020-09-01 10:45:22 UTC

gc.c の gc_marks_step() の引数の型を int -> size_t に変更しています。

[9d4c51478c] git 2020-09-01 16:46:35 UTC

version.h の日付更新

[94430d009a] Burdette Lamar 2020-09-01 17:49:48 UTC

Array の rdoc 用コメントの不要なサンプルやマークアップの削除など。 https://github.com/ruby/ruby/pull/3499

[e080a4cdee] Jeremy Evans 2020-09-01 16:18:44 UTC

05bf811c2839628aaef3d565daedb28be80d47ef の Range#max の終点が Integer じゃない場合の変更を revert しています。(0..Float::INFINITY) みたいな Range の時の仕様変更ですね。 [ruby-core:99079] [Bug #17017]

[4db4faef0f] Jeremy Evans 2020-09-01 16:19:03 UTC

8900a25581822759daca528d46a75e0b743fc22e の Range#max や #minmax の仕様変更を revert しています。これ不具合修正として入ってるけど実質仕様変更だなとは思ったんですよね。 [ruby-core:99079] [Bug #17017]

[de10a1f358] Jeremy Evans 2020-09-01 16:58:45 UTC

Range#max の rdoc 用コメントに begin と end が逆順になってる時や終端を含まない Range の時の挙動についての説明やサンプルを追記しています。

[6e8ec9ab6d] eileencodes 2020-08-06 17:25:11 UTC

警告のフィルタリングなどを行なえるコールバックメソッドを定義する Warning.warn メソッドのデフォルトの実装に追加のキーワード引数を受け付けるようにして、警告出力時にこのメソッドを呼び出す際に category キーワード引数で警告のカテゴリ(あれば)を Symbol で渡すようにしています。過去に再定義した Warning.warn はキーワード引数を受付けないように定義されてるかもしれないので、呼び出す時に arity をチェックして 1じゃない時だけ渡すようにしています。将来の拡張のために再定義の時も category を直接受け取るように書く(だけ)ではなくて keyword rest 引数として受け取るようにしたほうが良いですね、というのがどこかに書かれてたほうが良さそうですね。 https://github.com/ruby/ruby/pull/3418 [ruby-core:99582] [Feature #17122]

[94b54b038c] Marc-Andre Lafortune 2020-09-02 00:26:45 UTC

e080a4cdeeb55dddb6247ffd2563d2dc8b84c919 で revert した (1..Float::INFINITY) のような Range への max メソッドで Float::INFINITY を返すというテストを再度追加しています。あれ、実装はそのままでいいのかな。

[4c3f0597de] Alan Wu 2020-09-01 02:48:34 UTC

vm_trace() の引数 pc を削除しています。 pc は他の引数 reg_cfp から取得できるので不要なので。

[11922b5e03] Peter Zhu 2020-08-27 13:24:21 UTC

gc.c の gc_verify_internal_consistency() で WB-unprotected なオブジェクト(RGenGC の世代管理の対象にならないオブジェクト)の数のチェックが異常だった時の rb_bug() のメッセージが間違ってたのを修正しています。

[5e16857315] Marc-Andre Lafortune 2020-09-02 01:22:20 UTC

Module#const_set で定数に無名 Module を代入した時の Module#name に名前空間の親のパスを含めるようにする修正。 [ruby-core:87787] [Bug #14895]

[6321330461] Nobuyoshi Nakada 2020-09-02 03:44:28 UTC

range.c の行末の空白除去。

[93b78abd77] Nobuyoshi Nakada 2020-09-02 03:45:11 UTC

parse.y の式埋め込みをもつ文字列リテラルのノードを作成する処理を new_dstr() という関数に切り出して再利用するリファクタリング