ruby-trunk-changes 2022-12-13

今日は bundler の更新やビルドプロセスの修正などがありました。

[ff6831c334] Nobuyoshi Nakada 2022-12-12 08:05:03 UTC

outdate-bundled-gems.rb から --basedir オプションの対応を削除しています。

[0ba65c689e] Nobuyoshi Nakada 2022-12-12 08:05:37 UTC

outdate-bundled-gems.rb で gemspec ファイルの存在チェックをする時に拡張ライブラリを含む gem の時のために探すパスを追加しています。rbs や debug が余計に消されてしまっていたようです。

[e809bd31fd] Nobuyoshi Nakada 2022-12-12 04:17:56 UTC

tool/lib/colorize.rb の Colorize#initialize で第2引数が nil だった時に色の指定に第1引数を利用するように fallback を追加しています。

[6d6b1e5990] Nobuyoshi Nakada 2022-12-12 04:38:12 UTC

tool/test-bundled-gems.rb で GitHub Actions で実行している時のためにエラーメッセージのグループ化のためのタグの出力をするようにしています。

[0b4fda11ec] Peter Zhu 2022-12-12 14:37:31 UTC

ObjectSpace の private メソッドのための関数に :nodoc: タグのコメントをつけて rdoc によるドキュメンテーションを抑制するようにしています。

[87d5470873] Peter Zhu 2022-12-12 14:51:12 UTC

拡張ライブラリ objspace の rdoc 用コメントのインデントの修正と不要なピリオドの削除。

[58e3ce5de6] Peter Zhu 2022-12-12 14:56:44 UTC

拡張ライブラリ objspace の ObjectSpace.dump_all の rdoc 用コメントのマークアップの修正。

[a9c3dc8d2e] Peter Zhu 2022-12-12 14:58:39 UTC

拡張ライブラリ objspace の rdoc 用コメントの call-seq の戻り値の記法を修正。 # => を使ってたのを -> にしています。

[be710c1bf7] Peter Zhu 2022-12-12 15:15:24 UTC

拡張ライブラリ objspace の rdoc 用コメントのマークアップの修正。

[5302d04e5a] Peter Zhu 2022-12-12 15:16:38 UTC

拡張ライブラリ objspace の ObjectSpace.dump_all の rdoc 用コメントのマークアップの修正。

[ece6246057] Takashi Kokubun 2022-12-12 15:19:24 UTC

YJIT で VM 命令の opt-newarray_max の JIT コンパイル対応を追加しています。 vm_opt_newarray_max() を wrap した expose 用の rb_vm_opt_newarray_max() という関数を定義してこれを呼び出すシンプルな実装にしています。 https://github.com/ruby/ruby/pull/6893

[223d4448c8] Stan Lo 2022-12-12 17:35:43 UTC

irb の組み込みコマンド show_doc で文字列リテラルで表示したいメソッド名を指定せずクオートなしで書けるようにしています。

[63f682ba11] Burdette Lamar 2022-12-12 19:34:15 UTC

標準添付ライブラリ net/http の Net::HTTPHeader の rdoc 用コメントのサンプルコードのリファクタリングや追記。 https://github.com/ruby/net-http/pull/88

[8e619b8e0e] "dependabot[bot]" 2022-12-12 15:07:38 UTC

rubygems の Rust 製拡張ライブラリのテストのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[1004d693b7] Maxime Chevalier-Boisvert 2022-12-12 20:13:46 UTC

YJIT を [experimental] としているところを消しています。 YJIT は production ready に。 https://github.com/ruby/ruby/pull/6909

[258ac07907] Alan Wu 2022-12-12 20:59:29 UTC

YJIT の Rust 実装のビルド時にデバッグ情報を含めるように yjit/Cargo.toml の設定追加や rust のオプション -g を渡すようにしています。 なぜかついでに e0a4205eb785f266fdf08f409c2f112f5dfcb229 の Cirrus CI で [DOC] をコミットログに含む変更をビルドしないようにした変更を revert しています。 https://github.com/ruby/ruby/pull/6910

[f88f2bd92f] Stan Lo 2022-12-12 21:04:58 UTC

irb の組み込みコマンドのテストで show_doc コマンドのテストを専用のテストクラスに分離するリファクタリング

[17559f0420] David Rodríguez 2022-12-12 11:19:40 UTC

tool/sync_default_gems.rb で rdoc 用コメントの絶対 URL によるリンクを rdoc-ref を使ったクロスリファレンスに置換する処理で変更したファイルのバックアップを "~" つきのファイルに保存していたのをやめています。

[43f9351177] John Hawthorn 2022-12-12 19:09:10 UTC

internal/basic_operators.h の BASIC_OP_UNREDEFINED_P() の定義で LIKELY() の引数を間違っていたのを修正しています。 ==0 の比較まで含めるべきなのに比較の左辺だけ LIKELY() の引数にしてしまっていた。

[91050d3443] "dependabot[bot]" 2022-12-12 20:07:54 UTC

rubygems の Rust 製拡張ライブラリのテストのためのプロジェクトで rb-sys パッケージのバージョンを更新しています。

[6d00053c74] David Rodríguez 2022-12-11 19:17:51 UTC

bundler のテストで配列のチェックをするのに sort してから eq を使ってたのを match_array という matcher を利用するようにリファクタリングしています。

[3e00cb8256] Hiroshi SHIBATA 2022-12-13 02:24:14 UTC

bundler に upstream から最新版をマージしています。

[7edcdc380f] Takashi Kokubun 2022-12-13 07:34:30 UTC

tool/file2lastrev.rb で revision.h を生成する時に .git/ ディレクトリがないリポジトリでない環境(tar パッケージからのビルド)時に revision.h を再生成しないようにしています。 https://github.com/ruby/ruby/pull/6915

[5ba9dcff16] Takashi Kokubun 2022-12-13 08:15:02 UTC

7edcdc380f3bb6f5a81bfb5798c339acd844a0d3 の追加で tool/lib/output.rb の条件判定の書きかたを整理して同じ File の read を2回呼ぶ可能性があったのを変数に格納して読み込み結果を使いまわすように修正しています。

[3262842e0a] Takashi Kokubun 2022-12-13 08:22:57 UTC

7edcdc380f3bb6f5a81bfb5798c339acd844a0d3 および 5ba9dcff16226bbe0f24b234e62e2ed67a17ac53 の続きでファイルの内容によらず強制上書きするオプションが指定されてる時に読み込む処理をスキップするようにしています。

[764da87ab0] Nobuyoshi Nakada 2022-12-13 06:18:42 UTC

pattern match の ^() という記法で閉じかっこの前に改行があると SyntaxError になっていたのを許容するように修正しています。 [ruby-core:111262] [Bug #19195]

[ce025a5cb4] Jarek Prokop 2022-10-18 07:52:13 UTC

拡張ライブラリ openssl のテストで利用する OpenSSL::Digest を SHA1 から SHA256 に変更しています。環境によっては SHA1 のサポート? を切っているところがあるとのこと。

[d92f4fe4d7] Theo Buehler 2022-11-10 13:50:22 UTC

拡張ライブラリ openssl の EVP_DigestSign() や EVP_DigestVerify() が利用できるか OpenSSL のバージョンをみて preprocessor で分岐しているところで LibreSSL でも 3.4 以降で利用可能になったみたいで条件に LibreSSL のバージョンチェックも追加しています。

[d4dce27d89] Yusuke Nakamura 2022-11-23 12:05:49 UTC

拡張ライブラリ openssl の OpenSSL::Cipher#update の第1引数の文字列が空文字列だと ArgumentError 例外を発生させていたのを許容するようにしています。

[8ab8c2d601] Theo Buehler 2022-11-23 16:09:50 UTC

拡張ライブラリ openssl で OpenSSL::KDF.hkdf メソッドの定義を OpenSSL のバージョンをみて定義していたのを LibreSSL でも 3.6 以降利用可能になったようで preprocessor の分岐条件に追加しています。

[2be03fb5b0] Henrique Bontempo 2022-11-23 17:04:38 UTC

拡張ライブラリ openssl の定数 OpenSSL::OPENSSL_LIBRARY_VERSION の定義の preprocessor 分岐の中に rdoc 用コメントを移動してドキュメント生成されるようにしています。 #else のほうにも rdoc 用コメントが追加されていますが rdoc って preprocessor の条件分岐は認識するんだっけ?

[3de7ff8eb9] Hiroshi SHIBATA 2022-12-13 08:47:20 UTC

拡張ライブラリ openssl の extconf.rb の OpenSSL 3.0 での警告抑制のためのオプション制御を削除しています。

[99d0a257af] Nobuyoshi Nakada 2022-12-13 10:47:26 UTC

拡張ライブラリ openssl の rdoc 用コメントの 2be03fb5b0fc6ba18cf9842f410f3853e0369600 の再修正というか revert で、やっぱり rdoc は preprocessor の分岐はみないので1つにして、さらに #if の前にコメントがあってもいいみたいなので元に戻しています。いや、でも https://github.com/ruby/openssl/pull/559 によると #if の前にコメントだとドキュメント生成されてなかったみたいだから #if の中に入れるのは必要なんじゃないでしょうか。