ruby-trunk-changes 2020-12-08

今日は rubygems, bundler の更新や Windows での Encoding.default_external や環境変数の Encoding を UTF-8 に統一する変更などがありました。
また今日は 3.0.0-preview2 のリリースがありました。 3.0.0 を試してみたい人はダウンロードしてみてください。
https://www.ruby-lang.org/en/news/2020/12/08/ruby-3-0-0-preview2-released/

[c6b37cb169] Masaki Matsushita 2020-12-07 12:32:25 UTC

5d8bcc4870601ab1ee05346346f241d4a805aac9 で getaddrinfo_a(3) を使って名前解決を割り込み可能にした変更を revert したので NEWS の対応するエントリも削除しています。

[5894ea5954] Nobuyoshi Nakada 2020-12-07 13:27:29 UTC

29dee10af28e5766916ad3aa93401508508d53e2 で tool/rbinstall.rb で展開した gem パッケージに含まれてたファイルを spec.files に動的に追加するようにしたのを、gemspec ファイルを読み込む時に spec.files のセットに git コマンドを使ってセットする部分を検出してそれを差し替えるかたちで埋め込んでからその gemspec ファイルをロード(eval)するようにしています。すごいことしますね。

[e025113d71] Nobuyoshi Nakada 2020-12-07 13:40:46 UTC

5894ea5954db119fc818bb7030ed56cf46830c6d で gemspec ファイルの spec.files 記述部分を検出するための正規表現をちょっと変更して did_you_mean の gemspec ファイルの記述にも対応するようにしています。

[91f831ac17] Nobuyoshi Nakada 2020-12-07 14:47:37 UTC

tool/gem-unpack.rb で生成する gemspec ファイルをバージョン番号を含んだファイル名に書き出すようにしています。

[05e1d87e62] Nobuyoshi Nakada 2020-12-07 14:57:31 UTC

5894ea5954db119fc818bb7030ed56cf46830c6d で tool/rbinstall.rb で gemspec ファイルを解釈する時に spec.files を差し替える処理で .git ではじまるファイル名は無視するようにしているのを、後から spec.files の内容を削るようにして、ついでに .gemspec の拡張子で終わるファイルも削るようにしています。

[b5ef4ad312] git 2020-12-07 15:01:43 UTC

version.h の日付更新

[3bf7b999e5] aycabta 2020-12-06 08:45:05 UTC

標準添付ライブラリ reline の Reline::LineEditor でカーソル移動だけで再描画が不要な時の判定に input_key の処理の前後で行バッファの内容が変化してないことも追加しています。

[94b6933d1c] Lars Kanis 2020-12-07 16:48:37 UTC

遂に(?) WIndows での Encoding.default_encoding のデフォルト値を UTF-8 にセットするようにしています。 https://github.com/ruby/ruby/pull/2877 [ruby-core:97049] [Feature #16604]

[7e69296a2b] Kenta Murata 2020-12-07 17:01:31 UTC

60eabb1aa7d1d8ab83c49916bd8c3536daf5d03b で revert された 51500eedefa492699668ced3e07e330a9a4d53ee の Memory View 機能に rb_memory_view_extract_item_members() という C API を追加する変更のリトライ。 https://github.com/ruby/ruby/pull/3855

[146b3695c0] Kenta Murata 2020-12-07 17:09:53 UTC

94b6933d1c6f4c8698319fbcac9dcecc9033b4b9Windows での Encoding.default_encoding の変更に追随して process_options() での uenc のリセットが不要になったので削除しています。

[a4f292426b] "NARUSE, Yui" 2020-12-07 20:45:22 UTC

GitHub Actions の MinGW でのテストで一部のテストが通らないということで make test-all のオプションで除外する指定を追加しています。 [ruby-core:101264] [Bug #17372]

[3319ce3765] Takashi Kokubun 2020-12-07 21:54:04 UTC

構造体 struct rb_mjit_unit を linked list として扱うための struct list_node unode メンバーを構造体の先頭に移動しています。これ先頭じゃなくてもいいんだなぁ。gdb でキャストするだけで良いようにするためとのこと。

[2580093d5d] Takashi Kokubun 2020-12-07 22:21:21 UTC

a4f292426b40f9d6c8f3d646e4b7c667313074f2 の再修正。GitHub Actions の MinGW テストのコマンドのクオート記号の対応を修正。

[41fafd9dd2] MSP-Greg 2020-12-07 22:47:42 UTC

a4f292426b40f9d6c8f3d646e4b7c667313074f2, 2580093d5deb9940700aa5faa5bed3af405d989f のさらに続きで GitHub Actions の MinGW でのテストのエラーは BUNDLER_VERSION という環境変数があるせい? らしいので消しておくようにしています。 https://github.com/ruby/ruby/pull/3859 [ruby-core:101264] [Bug #17372]

[5c2ff88be2] Takashi Kokubun 2020-12-07 23:33:29 UTC

556a7285080c1344c75bb93a333c9bfc5d631c61 で mjit_worker.c の compile_compact_jit_code() で compile unit をループするープ変数を辿るところだけロックするようにしてましたが、どうもうまくいかないようでループ全体をロックしたまま回すように変更しています。

[ea18c8bb96] Nobuyoshi Nakada 2020-12-08 02:43:42 UTC

test/ruby/test_dir.rb でテストメソッド内で不要にインスタンス変数を使っていたところをローカル変数に変更しています。

[a8f16df615] Takashi Kokubun 2020-12-08 03:57:15 UTC

mjit_worker() で JIT コードを unload する時に GC 中だったら GC が完了するまで待ってから処理するようにしています。

[73b07c437e] Takashi Kokubun 2020-12-08 05:02:21 UTC

3319ce37651aa7e50c31b5fba14871938318b37a の struct rb_mjit_unit のメンバーの移動を revert しています。なぜかテストのエラーがおきやすくなった? みたいです。

[b7dc04e518] Takashi Kokubun 2020-12-08 05:06:00 UTC

mjit_worker.c の a8f16df615daa55901bb351efe038e86b61fbb92556a7285080c1344c75bb93a333c9bfc5d631c615c2ff88be2e515613dfe54823e8429656f688e9f などの JIT unit のループに関する排他の変更を revert しています。対処したかったエラーをこれではうまく修正できなかったみたいです。

[bd47a8d660] Kenta Murata 2020-12-08 06:42:31 UTC

拡張ライブラリ fiddle のテストで利用する libc と libm のパスの指定が macOS の時の処理が重複してたので一箇所にまとめています。 https://github.com/ruby/ruby/pull/3863

[509241b39f] Kazuhiro NISHIYAMA 2020-12-08 07:37:41 UTC

標準添付ライブラリ net/smtp の SNI 対応と TLS のホスト名チェックの挙動の変更について NEWS に追記しています。

[4b583d4928] "NARUSE, Yui" 2020-12-08 07:46:14 UTC

94b6933d1c6f4c8698319fbcac9dcecc9033b4b9ca76337a00244635faa331afd04f4b75161ce6fbWindows での Encoding のデフォルトを UTF-8 にする変更について NEWS に追記しています。

[6a6a24df9b] Kazuhiro NISHIYAMA 2020-12-08 07:53:25 UTC

4b583d4928d1797b35d99b7fc9666e0b4cbed136 の NEWS への追記のチケット参照がリンクになるように footnotes を追記しています。

[4aca77edde] Hiroshi SHIBATA 2020-12-08 07:33:39 UTC

標準添付の rubygems を 3.2.0 に更新しています。リリース直前のバージョンらしいです。

[473f9d2df0] Hiroshi SHIBATA 2020-12-08 07:36:29 UTC

標準添付の bundler を 2.2.0 に更新しています。

[86332cdce9] Hiroshi SHIBATA 2020-12-08 07:43:48 UTC

4aca77edde91f826aa243e268bf1ef5214530583473f9d2df0ddd7fdb5cc73fa3ad49b2f19f22b06rubygems と bundler のバージョン更新について NEWS の記述を更新しています。

[d7a16670c3] Nobuyoshi Nakada 2020-12-08 08:49:51 UTC

error.c の rdoc 用コメントの call-seq タグの記法を修正。

[aeeaf90b7e] Hiroshi SHIBATA 2020-12-08 09:38:25 UTC

tool/gem-unpack.rb に明示的な require "fileutils" を追加しています。 rubygems が自動的に require してたのがなくなったのでその対処ですね。

[09229c71bc] Samuel Williams 2020-12-08 08:21:28 UTC

coroutine/arm32/Context.S の coroutine 実装の arm32 版に .note.GNU-stack というセクションを追加しています。 [ruby-core:97731] [Bug #16762]