ruby-trunk-changes 2020-12-04

今日は標準添付ライブラリ fileutils、set、zlib などの機能追加や SortedSet の削除などの変更などがありました。

[2a99fea89e] Nobuyoshi Nakada 2020-12-03 12:31:44 UTC

tool/test-bundled-gems.rb でテストにエラーがあった bundled gem の名前を最後に表示するようにしています。

[bc4ca06f90] Yusuke Endoh 2020-12-03 14:34:46 UTC

test/ruby/test_io.rb でいくつかテストメソッド名が重複してしまっていたのがあったので改名しています。

[b60eaea8e5] Jeremy Evans 2020-12-03 17:02:42 UTC

NEWS の項目の順序のソートやセクションの整理など。

[04b96fc322] git 2020-12-03 17:08:21 UTC

version.h の日付更新

[88bb1a672c] Peter Zhu 2020-12-03 19:09:18 UTC

GC.compact で移動する try_move() で移動可能なオブジェクトについて compact_cursor_index を更新する時に 1つインデックスがずれてたのを修正しています。

[9195310168] Jeremy Evans 2020-12-03 20:47:34 UTC

String#encode と String#encode! の rdoc 用コメントの call-seq を修正して options はキーワード引数として受け付けるような記法に変更しています。 [ruby-core:101226] [Bug #17364]

[a9d773a288] Aaron Patterson 2020-12-04 01:19:15 UTC

88bb1a672c49746972f4b15410fa92e9d237c43d の try_move() の変更を revert しています。インデックス +1 で合ってるような気がしますが、この変更で CI でエラーになることがあったみたいです。

[94b2323a68] Kazuhiro NISHIYAMA 2020-12-04 01:37:17 UTC

84eb2bfab940fc9c6962c10ede7f72cee3fb9899 で追加した ruby_xmalloc() と ruby_xfree() の Doxygen 用コメントの typo 修正。

[ee4373c81d] Jeremy Evans 2020-12-04 02:32:32 UTC

NEWS のマークアップ記法を変更しています。バッククオートをつけるとリンクになるのが抑制されるからとのこと。

[95118e0250] Nobuyoshi Nakada 2020-12-04 03:02:20 UTC

NEWS でチケットへのリンクがうまく生成できていなかったのを修正。

[0734a6cd59] Takashi Kokubun 2020-12-04 04:55:29 UTC

00f046ef57f9da7f5248f9ef9d55702ddc407bf1 で make test-all で並列テスト実行時にエラーのバックトレースも表示させるようにしてたのを revert しています。

[067f45ecd3] Takashi Kokubun 2020-12-04 05:01:24 UTC

make test-all の終了時に core ファイルがあったらタイムスタンプつきの core.xxxxx に改名して一時ディレクトリの退避しておいて警告メッセージを表示するようにしています。 CI でおきたエラーのデバッグのためみたいです。

[30fba5f37d] Takashi Kokubun 2020-12-04 05:24:35 UTC

067f45ecd379ea44f294084c8f342c69f735c018 の再修正。 time と fileutils の require を追加してましたが実際に core ファイルをみつけた時まで遅延させています。どうやら require のせいか CI が失敗してしまったみたいです。

[f1757a88a4] Takashi Kokubun 2020-12-04 05:33:31 UTC

067f45ecd379ea44f294084c8f342c69f735c018 の再々修正。 一時ディレクトリに core ファイルが大量に残るのを避けるため core を移動する時に 7日以上前の core ファイルは削除しておくようにしています。

[82bbce826f] Koichi Sasada 2020-12-04 05:39:03 UTC

Ractor から値を取得するのに使う ractor_select() で actions の添字にこの部分で使ってないループカウンタの i を使ってしまってたので専用の変数を導入してこちらを使うようにしています。

[e8cee4915b] Koichi Sasada 2020-12-04 05:59:12 UTC

Proc オブジェクトの生成に使う vm_proc_create_from_captured() という関数で参照するブロックからのオブジェクトの参照に入れる write barrier の順序を変更しています。コミットログによると proc->block.as.captured.code.val より先に proc->block.as.captured.self をセットしてしまうとこの隙間に GC が発生すると不正な状態になってしまうからみたいです。 Ractor の導入によりここで GC 発生し得るようになったみたいですね。これはバックポート必要かな?

[c0de997edd] Kenta Murata 2020-12-04 05:23:24 UTC

Memory View 機能でメモリの型を指定する指示子の n, N, v, V が環境依存になってたのをそれぞれ big endian, little endian に変更しています。

[cf582aa6ee] Nobuyoshi Nakada 2020-12-04 03:59:19 UTC

NEWS で code block の記法の前に空行がないとうまく整形されないので空行追加しています。

[a60dfff434] Jeremy Evans 2020-09-11 20:15:08 UTC

拡張ライブラリ zlib の Zlib::GzipReader#gets の rdoc 用コメントに nil を返すことがあることについて追記しています。 [ruby-core:82816] [Bug #13904]

[bc63ec57e7] Jeremy Evans 2020-10-28 17:58:28 UTC

拡張ライブラリ zlib の Zlib.adler32 と Zlib.crc32 の引数に IO も受け付けるように拡張しています。

[0adc426ca5] Jeremy Evans 2020-10-29 19:28:09 UTC

拡張ライブラリ zlib の Zlib::Inflate#inflate にキーワード引数 buffer を追加して出力バッファを外から与えられるようにしています。

[46fc8d78a5] Akinori MUSHA 2020-09-20 14:23:13 UTC

標準添付ライブラリ set で ruby が 2.x 系の時をサポートするため initialize_copy の freeze キーワード引数の有無を UnboundMethod#arity で判定して定義を変えるようにしています。

[a3db08d7b6] Akinori MUSHA 2020-09-20 13:03:33 UTC

標準添付ライブラリ set から SortedSet を削除しています。この実装には rbtree という外部ライブラリに依存しているので標準添付ライブラリが外部ライブラリに依存してるのはどうなの、ということで外すことにしたみたいです。

[1804c3368c] Marc-Andre Lafortune 2020-10-02 03:55:46 UTC

標準添付ライブラリ set に Set#<=> メソッドを追加しています。サイズが違う時はどちらかが部分集合になってたらそれで大小判定するようにしているようです。

[b06ffce4ae] Hiroshi SHIBATA 2020-12-04 10:34:06 UTC

a3db08d7b6ff119223f77e3df00b4f6deac971e2 で SortedSet が削除されたのに追随して rubyspec のテストを削除しています。

[e666bd1c5a] Hiroshi SHIBATA 2020-12-04 10:36:30 UTC

b06ffce4aef002dc47c3c5968181230e7ab8d7cc と同じく a3db08d7b6ff119223f77e3df00b4f6deac971e2 で SortedSet が削除されたのに追随して rubyspec の SortedSet についてのテストを 2.x でのみ実行するようにしています。

[da126250ba] Jeremy Evans 2020-10-27 18:05:54 UTC

標準添付ライブラリ fileutils の FIleUtils.mkdir_p で親ディレクトリを辿って mkdir を不要な(既に存在する)パスについては発行しないように修正しています。 パフォーマンスの向上と、 unveil(2) というシステムコールの影響下では存在するディレクトリに対して mkdir するのがエラーになることもあるのでそのような環境の対応のためとのことです。

[60b57866ac] Masataka Pocke Kuwabara 2020-11-23 15:37:13 UTC

標準添付ライブラリ mutex_m の Mutex_m#initialize を Kernel#ruby2_keywords で修飾するようにしています。

[6f14a30022] Jeremy Evans 2020-09-22 18:22:04 UTC

標準添付ライブラリ logger の log rotate の機能は Windows 環境でファイルロックを使った実装などが無効になってるのですが、この判定に Cygwin を追加しています。 [Bug #12468]

[1cfc6e7b7a] Hiroshi SHIBATA 2020-12-04 11:21:41 UTC

標準添付ライブラリ rinda の gemspec ファイルに drb, ipaddr, forwardable への依存関係を追加しています。