ruby-trunk-changes 2021-11-17

今日は拡張ライブラリ date の Date.parse や Date._parse その他各種フォーマットの日時の parse 系メソッドに limit キーワード引数を追加する変更や拡張ライブラリ io/wait の対応 ruby バージョンを引き下げる(古い ruby も対応する)変更などがありました。

[d305ae5f04] Nobuyoshi Nakada 2021-10-22 06:34:51 UTC

拡張ライブラリ io/wait のテストで skip のかわりに omit を使うようにしています。

[db71a04c2e] Nobuyoshi Nakada 2020-10-11 07:09:51 UTC

拡張ライブラリ io/wait で ruby の C API の rb_io_wait() がない場合に wait_for_single_fd() を使った代替実装をするようにして古い ruby でも動かせるように対応しています。

[dc5512243b] Nobuyoshi Nakada 2021-10-22 06:51:16 UTC

拡張ライブラリ io/wait のテストで Ractor を使うテストは Ractor が未定義(古いバージョン)の場合にはスキップするようにしています。

[96d9cfba08] Nobuyoshi Nakada 2021-10-22 06:52:06 UTC

拡張ライブラリ io/wait の gemspec ファイルの対応バージョンを 2.6.0 以降に引き下げています。

[c910de3575] Nobuyoshi Nakada 2021-10-22 07:50:16 UTC

拡張ライブラリ io/wait の depend ファイルの ruby/assert.h への依存関係は 2.6 サポートのために削除しています。存在しないファイルの依存関係がある時ってエラーになるんですっけ。

[2231d103f3] Akinori MUSHA 2021-10-25 03:28:05 UTC

標準添付ライブラリ set の gemspec ファイルのバージョンを 1.0.2 に更新しています。

[5bff4cd56c] Nobuyoshi Nakada 2021-10-22 12:33:15 UTC

標準添付ライブラリ net/protocol の gemspec ファイルの対応する ruby バージョンを 2.6.0 に引き上げています。

[489c8cebf5] Yusuke Endoh 2021-11-12 03:15:25 UTC

拡張ライブラリ date の Date.parse, Date._parse や Date.iso8601, rfc3339 などなどの文字列からパースするメソッド群でキーワード引数 limit を追加して、長すぎる文字列が渡された時に ArgumentError 例外を発生させるようにしています。 limit のデフォルトのサイズは 128 になっています。

[ed7a641378] Akinori MUSHA 2021-10-24 02:06:02 UTC

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

[27168a1cf7] Nobuyoshi Nakada 2021-11-03 10:14:57 UTC

拡張ライブラリ nkf の rdoc 用コメントで -M オプションの説明の typo 修正。

[17e64cca6b] Hiroshi SHIBATA 2021-11-16 12:22:28 UTC

489c8cebf575741d62effd0d212f1319beff3c40 の date の修正で rubyspec のテストの一部を 3.0 までに限定するようにしています。

[fa674cf723] Jean Boussier 2021-11-15 10:37:40 UTC

489c8cebf575741d62effd0d212f1319beff3c40 の拡張ライブラリ date の再修正で Date._parse などで引数に nil が渡された場合に対応するようにしています。 {} が返されるようです。

[a87c56f820] Jean Boussier 2021-11-16 13:03:42 UTC

fa674cf7230e40bc96625ee97a6057e48bb20f0f と同様に 489c8cebf575741d62effd0d212f1319beff3c40 の拡張ライブラリ date の再修正で Date._parse などに Symbol を渡した時に文字列に変換してから処理するように対応しています。

[8a816fbe7b] Yusuke Endoh 2021-11-16 14:01:54 UTC

17e64cca6b737060884f6fd9ab1c5055e9b49577 で rubyspec の date の一部のテストを 3.1 で実行除外してたのを revert しています。動くはずということなので、追加の修正があるかも?

[d8d5488631] Burdette Lamar 2021-11-16 19:42:05 UTC

Integer の rdoc 用コメントを追加、移動などしています。 https://github.com/ruby/ruby/pull/5120

[5b6a397f3e] git 2021-11-16 19:42:28 UTC

version.h の日付更新

[1af8ed5f0a] Jean Boussier 2021-11-16 10:33:39 UTC

b1b73936c15fd490159a9b30ab50b8d5dfea1264 で導入された組み込みメソッド用 ruby での Primitive.mandatory_only? を使ったメソッドの呼び出し時に引数の数で分岐する時に配列を "*args" のように展開する呼び出しをした時に引数の数のチェックがミスっていて Time.at(*[1,2]) のようにした時に必須引数のみのほうの ISeq を利用しようとしてしまって ArgumentError になってしまっていたのを修正しています。 vm_ci_flag() のチェックを追加して splat 使うようなケースは通常のメソッドの ISeq のほうを使うようにしています。

[a19a657514] Samuel Williams 2021-11-15 02:16:48 UTC

4b8903421828cb9d4de139180563ae8d8f04e1ab で導入された IO::Buffer の実装でファイルサイズの型を size_t から off_t に変更して、値が負でないかのチェックなどを追加する 32bit 環境でのビルド対応をしています。

[5190926e40] Samuel Williams 2021-11-15 02:28:02 UTC

同じく IO::Buffer の IO::Buffer.for メソッドに文字列以外のオブジェクトが渡された場合に例外にするため StringValue() による変換を追加しています。

[cbb057e677] Yusuke Endoh 2021-11-17 02:17:37 UTC

拡張ライブラリ io/wait の depend ファイルの ruby/assert.h への依存関係をコメントアウトしたのを revert しています。が、コメントアウトした状態のものも残してあって、これは CI でチェックしている master の依存関係再生成が必要かどうかのチェックを通すためかな。

[d1cbec9b52] Jeremy Evans 2021-11-16 21:09:25 UTC

Array#pack の第2引数に空 Hash を渡した時のテストを追加しています。 [ruby-core:106096] [Bug #18343]

[a5cff7cc5d] Jeremy Evans 2021-11-16 21:43:00 UTC

Enumerable#each_cons や Enumerable#each_slice の戻り値を dfb47bbd17c3c2b8ce17dbafaf62df023b0224b2nil から receiver を返すように変更したのが引数に指定された数が receiver の size 以上だった時には変更されていなかったので追加で変更しています。

[21b8f992de] Yusuke Endoh 2021-11-17 02:52:00 UTC

gems/bundled_gems の rbs のバージョンを commit hash で指定するようにしています。 io/wait の変更に起因するエラーの修正を取り込んだものを取り敢えず CI で使うためみたいです。

[d23b3d9b7d] Yusuke Endoh 2021-11-17 06:08:46 UTC

拡張ライブラリ digest の 018266ca387eacd1f149141717104f57ab86cccd でのバージョンアップ時に gemspec ファイルから lib/digest/version を require してそこに定義されている定数を参照するように変更したのですが、定数の再定義の警告が出るみたいで無名 Module を作成してその中で読み込ませて定数の衝突を防ぐようにしています。

[c240ccd643] Olle Jonsson 2021-11-17 08:59:45 UTC

標準添付ライブラリ net/http の gemspec ファイルの不要な spec.executables の指定を削除しています。