ruby-trunk-changes 2020-07-20

今日は主に csv の更新と stringio の不具合修正を含む更新がありました。

[d637208abd] Nobuyoshi Nakada 2020-07-19 14:13:21 UTC

vm_method.c の static な関数名 copmplemented_callable_method_entry() の typo を修正して complemented_callable_method_entry() に改名しています。

[05bf811c28] Jeremy Evans 2020-07-16 17:11:35 UTC

8a5ad2b77d7a24e4f8f4fef179ae5efced935f91 の始点が Integer で終点が Integer じゃない Range に対する Range#max の変更の再修正。 (1.0..Float::INFINITY).max は Float::INFINITY を返すけど、という指摘に対応して (1...Float::INFINITY).max は Float::INFINITY を返すようにしています。 [ruby-core:99079] [Bug #17017]

[d03a7c6a25] Nobuyoshi Nakada 2020-07-19 11:47:28 UTC

375cf129189f32f7be76ac525035bcde691a63e7csv のテストで一時的に $VERBOSE を nil にして警告抑制していたのを revert しています。upstream からの更新マージが衝突してたので一時的に revert しているみたいです。

[172cfce6dc] Sutou Kouhei 2019-10-11 22:45:45 UTC

標準添付ライブラリ csvCSV::VERSION 定数の値を "3.1.3" に更新しています。

[9141aae8c2] Sutou Kouhei 2019-10-16 00:36:06 UTC

d03a7c6a25fad2393d8eb2cccd1680e37206cd7e で revert した csv のテストでの警告抑制をちょっと別の実装で再追加しています。

[b219cd5ac3] Jim Kane 2019-10-22 10:01:24 UTC

標準添付ライブラリ csvCSV::Row#dup がその @row 自体を dup するだけで各要素を dup していなかったので、全要素を dup した新しい配列を返すようにしています。 https://github.com/ruby/csv/pull/108

[d57bc03ba9] Mike MacDonald 2019-11-03 03:48:22 UTC

標準添付ライブラリ csvCSV::Parser#skip_needless_lines で :skip_lines オプションにが空文字列にマッチする時に無限ループに陥る不具合を修正。 https://github.com/ruby/csv/pull/110

[3c5b67e0db] Seiei Miyagi 2019-11-25 01:06:59 UTC

標準添付ライブラリ csvCSV.generate で StringIO を利用する時に StringIO#set_encoding でバッファの文字列の Encoding を設定しておくようにしています。 https://github.com/ruby/csv/pull/111

[aeac7db823] TOMITA Masahiro 2019-12-24 21:32:53 UTC

CSV.new の rdoc 用コメントの strip オプションの説明で削る空白文字として \r と \n が含まれていたのを削り、スペースを追加しています。 https://github.com/ruby/csv/pull/114

[814bfc8adc] Sutou Kouhei 2019-12-24 21:59:43 UTC

標準添付ライブラリ csvCSV.new の strip オプションにが指定された場合にカラムの端じゃなく中に削るべき文字が出現した時にエラーになっていたのを修正しています。 https://github.com/ruby/csv/pull/115

[033514c62f] Sutou Kouhei 2020-05-08 21:32:02 UTC

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

[6ba1abd40c] Burdette Lamar 2020-05-12 21:42:45 UTC

標準添付ライブラリ csv の rdoc 用コメントに全体的に追記しています。 https://github.com/ruby/ruby/pull/122

[0ee5578e8c] Sutou Kouhei 2020-05-12 23:27:05 UTC

標準添付ライブラリ csv のテストで CSV.read に "rb" の mode を明示的に指定するようにしています。 Ruby 2.7 のためとのことだけどどういうことだろう。

[b8084b5cb4] Sutou Kouhei 2020-05-17 02:51:06 UTC

標準添付ライブラリ csvCSV.generate で値に nil (その他 String じゃない値?)があった時にエラーになってた不具合を修正しています。 https://github.com/ruby/csv/pull/123

[cf7e472ab4] Sutou Kouhei 2020-05-17 02:58:07 UTC

標準添付ライブラリ csv のテスト用のクラスで StringIO を生成する時に mode 引数で Encoding を指定するようにしています。

[1822b19221] Sutou Kouhei 2020-05-17 03:02:55 UTC

標準添付ライブラリ csvCSV.parse_line で CSV.new した要素の先頭を shift で削っていたのをやめています。しかしこれ new したインスタンスはもう見えないからどっちでもいいんじゃないかな。 と思ったけどどうやら例外発生時のスタックトレースがおかしいというエラーの対応だそうです。はて、なんでだろ……。 https://github.com/ruby/csv/issues/120

[71bee3819f] Sutou Kouhei 2020-05-17 03:14:05 UTC

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

[e3808c5aca] Sutou Kouhei 2020-05-17 20:59:14 UTC

標準添付ライブラリ csv の gemspec ファイルの spec.extra_rdoc_files の指定を追加するようにしているようです。

[9e6d54a501] Burdette Lamar 2020-05-17 21:01:57 UTC

標準添付ライブラリcsv の rdoc 用コメントの追記やサンプル強化など。 https://github.com/ruby/csv/pull/124

[731c0eb44d] Sutou Kouhei 2020-05-17 21:03:03 UTC

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

[cf8157e001] Burdette Lamar 2020-05-26 21:13:05 UTC

標準添付ライブラリ csv の rdoc 用コメントの追加。 https://github.com/ruby/csv/pull/127

[4e33a87879] Koichi ITO 2020-06-01 23:30:25 UTC

標準添付ライブラリ csvCSV.open のオプションに :undef と :replace を追加し、対応する文字がなくて文字エンコーディング変換がうまくできない時の代替文字などの指定ができるようにしています。 https://github.com/ruby/csv/pull/129

[cee10c1b70] Koichi ITO 2020-06-04 03:08:05 UTC

4e33a878793a5ced47a4f14b8a73cbc2795d97b7 の追加修正。標準添付ライブラリ csvCSV.open で変換できない文字があった時の例外が想定される Encoding::InvalidByteSequenceError にならなくなってたのを修正しています。 https://github.com/ruby/csv/pull/131

[08e70126ae] Koichi ITO 2020-06-04 03:33:47 UTC

4e33a878793a5ced47a4f14b8a73cbc2795d97b7 に続いて CSV.open のオプションに :invalid も追加しています。不正なバイト列があった時の置換指定ができるようにしています。 https://github.com/ruby/csv/pull/130

[1ac702cd29] Burdette Lamar 2020-06-09 23:28:35 UTC

標準添付ライブラリ csv の rdoc 用コメントで委譲先のメソッドの列挙がリンクになるように receiver のクラスつきで記述するようにしています。 https://github.com/ruby/csv/pull/135

[f89186aebb] Burdette Lamar 2020-06-11 21:31:52 UTC

CSV.instance の rdoc 用コメントを追加しています。ついでに(?) 1ac702cd29786085d5bfe618eef9e9d9817e76f3 で変更した委譲しているメソッド一覧の位置を移動したりもしています。 https://github.com/ruby/csv/pull/136

[7c55c96147] Burdette Lamar 2020-06-13 18:26:30 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/137

[013cca1f9a] Burdette Lamar 2020-06-15 00:09:58 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/139

[9901bb4c73] Burdette Lamar 2020-06-15 21:43:36 UTC

標準添付ライブラリ csv の rdoc 用のファイル doc/argument_io.rdoc がコミット漏れしてたようなので追加。 https://github.com/ruby/csv/pull/140

[e4742fec64] Burdette Lamar 2020-06-16 23:35:28 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/141

[6106b7badd] Burdette Lamar 2020-06-18 20:21:37 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/142

[920a16893a] Burdette Lamar 2020-06-18 22:02:02 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/143

[d9eff306f5] Burdette Lamar 2020-06-24 21:04:25 UTC

doc/ の配下の標準添付ライブラリ csv 用の rdoc ファイル群のディレクトリ構成を変更しています。 https://github.com/ruby/csv/pull/145

[7bf13c5183] Burdette Lamar 2020-06-25 03:38:36 UTC

標準添付ライブラリ csv 用のドキュメントファイルの強化修正。 https://github.com/ruby/csv/pull/146

[66b5cedc29] Burdette Lamar 2020-06-26 21:29:57 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/148

[da83401ba4] Burdette Lamar 2020-06-28 21:25:31 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/149

[a0bee2bbd6] Burdette Lamar 2020-07-01 01:30:49 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/151

[40c5023629] Burdette Lamar 2020-07-01 20:15:13 UTC

標準添付ライブラリ csv の rdoc 用コメントの追記。 https://github.com/ruby/csv/pull/152

[544d82f49b] Burdette Lamar 2020-07-03 02:06:26 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/154

[d7c42df0b1] Burdette Lamar 2020-07-04 14:25:31 UTC

標準添付ライブラリ csv の rdoc 用コメントの call-seq 追加。 https://github.com/ruby/csv/pull/155

[d9749b4715] Burdette Lamar 2020-07-15 20:37:17 UTC

標準添付ライブラリ csv の rdoc 用コメントの強化修正。 https://github.com/ruby/csv/pull/157

[178649e6dc] Sutou Kouhei 2020-07-15 21:10:38 UTC

標準添付ライブラリ csv の書き込み時にクオートをつけるカラムの指定を force_quote でヘッダ名やインデックスで指定できるようにしています。 https://github.com/ruby/csv/pull/153

[4fcfa85cb6] Sutou Kouhei 2020-07-18 21:25:05 UTC

標準添付ライブラリ csvCSV.generate_line で利用する Encoding を最初にみつけた非 ASCII な Encoding を使うようにしています。

[da0e8158c9] git 2020-07-19 18:35:19 UTC

version.h の日付更新

[a3ac1bf450] Samuel Williams 2020-07-18 10:02:07 UTC

GitHub Actions の各種環境のテストで timeout-minutes の指定を追加しています。

[e6e9cef06e] Samuel Williams 2020-07-16 03:19:47 UTC

blocking Fiber のテストで 79d06483a8ac98a87e5c32d3a34823382a72a0da で skip 時の fd leak 修正を test/fiber/test_io.rb でも同様に修正しています。

[9f6a3d0306] Samuel Williams 2020-07-18 05:34:54 UTC

test/fiber/test_io.rb に複数 Thread で blocking Fiber を起動するテストを追加しています。

[f3462d99a3] Samuel Williams 2020-07-18 03:10:17 UTC

blocking Fiber で Thread 毎の Scheduler を取得する関数 rb_current_thread_scheduler() を rb_thread_scheduler_if_nonblocking() い改名して引数に明示的に Thread を受け取るようにしています。コミットログをみると GVL 解放した後で current thread を参照してたのでタイミングによっては間違った Thread の scheduler を参照してしまう可能性があったみたいです。

[1b3a6847be] Samuel Williams 2020-07-20 00:42:57 UTC

include/ruby/internal/intern/thread.h から blocking Fiber 関係の関数宣言 rb_thread_scheduler_get()/rb_thread_scheduler_set()/rb_thread_scheduler_if_nonblocking() などを include/thread.h に移動しています。

[d2bf6133f6] Nobuyoshi Nakada 2020-07-20 04:31:41 UTC

いくつかのファイルの行末の空白除去。

[840115bf46] Nobuyoshi Nakada 2020-07-20 04:38:37 UTC

rubyspec でテスト内で StringIO を使う時に明示的に +"" で文字列リテラルを渡すことで Encoding を script encoding に? するようにしています。 default external の影響を受けないようにするためとのこと。

[6ff9604f85] Nobuyoshi Nakada 2020-07-18 14:52:27 UTC

拡張ライブラリ stringio の StringIO への書き込み時に Encoding をバッファに合わせて変換する時に変換がうまくできなかった場合に rb_enc_check() を呼び出して Encoding::CompatibilityError を発生させるようにしています。issue をみると暗黙のうちに UTF-8 に変換されてしまっていたようです。なるほど、この変更のために csv の変更もマージされたんですね。 https://github.com/ruby/stringio/issues/13

[574871781b] Nobuyoshi Nakada 2020-07-18 15:44:56 UTC

拡張ライブラリ stringio のバージョンを 0.1.2 に更新しています。

[a7c67fc6da] Nobuyoshi Nakada 2020-07-18 16:30:01 UTC

6ff9604f85bf5ffcb6dbfd9ff99ab420c9a5f415 で不要な UNREACHABLE マクロを削除しています。

[c62aff1632] Nobuyoshi Nakada 2020-07-19 02:38:58 UTC

6ff9604f85bf5ffcb6dbfd9ff99ab420c9a5f415 で追加した拡張ライブラリ stringio のテストで UTF-8 の StringIO のバッファに ISO-8859-1 の文字列を書き込むという非 ASCII だけで互換性のある Encoding の書き込みのテストケースを追加しています。

[ddb2acbba6] Nobuyoshi Nakada 2020-07-19 07:08:03 UTC

6ff9604f85bf5ffcb6dbfd9ff99ab420c9a5f415 の StringIO の書き込み時の Encoding 変換のエラー処理再修正。StringIO のバッファの Encoding が US-ASCII だった場合に自動的に変換されるため? 互換性チェックしないようにしています。

[16daee1c75] Nobuyoshi Nakada 2020-07-19 07:57:03 UTC

拡張ライブラリ stringio のバージョンを 0.1.3 に更新しています。