ruby-trunk-changes 2022-06-17

今日は主に標準添付ライブラリ net/http の Content-Range の不正なフォーマットの扱いの再修正や特殊変数 __ENCODING__ の振舞いの修正、rubygems の更新などがありました。

[1cc64a5514] Nobuyoshi Nakada 2022-06-16 10:52:51 UTC

標準添付ライブラリ racc で Regexp.new の第3引数に渡すべき Encoding の指定を第2引数に渡していたので修正しています。

[2223eb082a] Nobuyoshi Nakada 2022-06-16 13:10:59 UTC

63546bfc1581d4abec2a0d846106a1c0afc0efa9 で標準添付ライブラリ net/http の Content-Range のフォーマットが不正だった時に例外を発生させず nil を返すようにしたのを revert しています。

[52d42e7023] Peter Zhu 2022-06-14 18:37:21 UTC

GC.compact をサポートしているかどうかのマクロ GC_COMPACTION_SUPPORTED を GC_CAN_COMPILE_COMPACTION と改名しています。 [ruby-core:108908] [Bug #18829]

[79eaaf2d0b] Peter Zhu 2022-06-14 19:54:16 UTC

GC.compact がサポートされているかをコンパイル時に切り替えるのではなく実行時に GC_COMPACTION_SUPPORTED マクロの定義によって関連メソッドの定義を切り替える(未サポートの時に rb_f_notimplement() で定義する)ようにしています。ふーむ、これはどういう動機によるものなんだろう。 [ruby-core:108908] [Bug #18829]

[c310691dd8] Shishir Joshi 2022-06-16 11:16:47 UTC

2223eb082afa6d05321b69df783d4133b9aacba6 で revert された 63546bfc1581d4abec2a0d846106a1c0afc0efa9 の標準添付ライブラリ net/http の Content-Range ヘッダの不正フォーマット時の処理の変更のリトライ。Content-Range ヘッダの単位のところに bytes 以外の文字列がきても受け付けるようにしています。

[0ab2bca11c] Burdette Lamar 2022-06-16 14:56:33 UTC

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

[af425b6d66] Jemma Issroff 2022-06-16 15:01:22 UTC

benchmark ディレクトリにインスタンス変数が slot に埋め込まれる時のインスタンス生成のベンチマークを追加しています。

[cfe9c24db4] git 2022-06-16 15:47:33 UTC

version.h の日付更新

[c49fde351f] Jemma Issroff 2022-06-15 14:18:17 UTC

Object#clone と Object#dup のテストに freeze されたオブジェクトやインスタンス変数の内容の同一性がどうなるかなどのテストを追加しています。このへんのテストなかったの意外ですね。

[51835135a0] Jemma Issroff 2022-06-15 19:18:55 UTC

さらに freeze されたオブジェクトのインスタンス変数を Object#instance_variable_set で変更しようとした時のテストを追加しています。

[278fefb962] Nobuyoshi Nakada 2021-12-03 14:13:27 UTC

ENV.update の引数に Hash#update と同様に複数の Hash を受付けるように拡張しています。 [ruby-core:105876] [Feature #18279]

[cd5cafa4a3] Nobuyoshi Nakada 2022-06-14 03:27:25 UTC

Source Encoding を返す __ENCODING__ という特殊変数が返す Encoding が SCRIPT_LINES__ という特殊な定数や RubyVM::AbstractSyntaxTree.parse のキーワード引数 keep_script_lines: true が指定された時にスクリプトの Encoding でなく locale? encoding を返してしまっていた不具合を修正しています。 [ruby-core:108886] [Bug #18827]

[ae163cae6b] John Hawthorn 2022-05-27 20:47:06 UTC

Refinements で再定義したメソッドから protected メソッドの呼び出しができることが期待されるのに呼べないことがあった不具合を修正しています。 [ruby-core:108705] [Bug #18806]

[e46292197f] Alan Wu 2022-06-16 20:34:14 UTC

278fefb96294adf9d27a78f919c714a31b65ef58 の ENV.update の仕様変更時に追加した rubyspec の新しいテストが 3.1 で実行されるようになっていたので 3.2 から実行されるように修正しています。

[2c19086323] Nobuyoshi Nakada 2022-06-16 14:43:22 UTC

79eaaf2d0b641710613f16525e4b4c439dfe854e の変更で GC_CAN_COMPILE_COMPACTION マクロが偽の時に未使用のままの static 変数が残るようになってたので再び preprocessor の分岐で囲むように修正しています。

[f3b54d5fc2] Jeremiah Gowdy 2022-06-15 17:31:15 UTC

configure に $target_cpu が aarch64 の時に -mbranch-protection=pac-ret や -msign-return-address=all といったコンパイラオプションを追加するようにチェック追加しています。

[1dfe007e16] Jeremiah Gowdy 2022-06-16 17:29:28 UTC

f3b54d5fc236d01c0e34650b797820e4b09e2a41 の再修正。AS_FOR というマクロを使うようにリファクタリング? しています。

[51a3ebf4ec] S-H-GAMELINKS 2022-06-14 12:49:24 UTC

compar.c の cmp_between() で RBOOL() を使って簡易に書くようにリファクタリングしています。

[420f3ced4d] S-H-GAMELINKS 2022-05-01 14:13:59 UTC

文字列の coderange が ENC_CODERANGE_7BIT かどうかチェックしている部分を is_ascii_string() という関数の呼び出しにリファクタリングしています。

[20d4168250] Nobuyoshi Nakada 2022-06-17 05:37:15 UTC

FreeBSD で File#flock の File::LOCK_SH を渡すテストが失敗するそうで skip するようにしています。

[b6c1e1158d] Jean Boussier 2022-06-15 12:37:41 UTC

9125374726fbf68c05ee7585d4a374ffc5efc5db で GVL の取得/解放時に呼び出すコールバック関数を登録する C API を追加した続きで 、Thread の終了時に管理用のデータの解放のためにそのイベントを知る必要があるとのことでイベントを追加しています。 [ruby-core:106069] [Feature #18339]

[5a385677f3] David Rodríguez 2022-06-14 13:26:08 UTC

rubygems の Gem::Ext::ExtConfBuilder.build というメソッドで生成するスクリプトに RbConfig::CONFIG の内容を書き変える行を追加していたところを削っています。このクラスはなにをしてるところだろう。

[1aaeff8e36] David Rodríguez 2022-06-15 08:14:23 UTC

rubygems で不要な分岐があったのを削っています。

[8855b68f97] David Rodríguez 2022-06-14 13:26:37 UTC

5a385677f366fa093dc35ad69045bf183603427c の続き? で rubygems で RbConfig::CONFIG の書き換えがそもそも不要なようにしている? みたいです。

[5450b409fc] David Rodríguez 2022-06-14 14:47:55 UTC

rubygems で古くなって内容と合っていないコメントを削っているようです。

[1e8bf48fd5] David Rodríguez 2022-06-15 08:19:14 UTC

rubygems の TODO コメントで RubyGems 3 で消す、と書かれてるところがありましたが、既に 3 なので RubyGems 4 で消す、という TODO コメントに更新しています。

[78425d7e74] David Rodríguez 2022-06-15 18:54:29 UTC

bundler のテストの helper で環境変数 BUNDLE_APP_CONFIG と BUNDLE_SILENCE_ROOT_WARNING が設定されているとテストに影響あるようなので前処理でクリアしておくようにしています。