ruby-trunk-changes 2024-09-03

今日は主に rubygems と bundler の更新、先日の Range#step の最適化によって要素が文字列の時の動作が壊れていたのを修正する変更などがありました。

[9d522cc44d] David Rodríguez 2024-08-28 10:30:35 UTC

bundler のテストで ruby 本体のリポジトリ内でのテストかどうか判定するのに環境変数 GEM_COMMAND を使ってたのを他でも使いたくなったとのことで bundler.gemspec ファイルの位置で判定するように変更しています。

[3d83df2b96] Jun Aruga 2024-08-30 10:17:00 UTC

Travis-CI の設定で今ジョブが開始しないという不具合が起きているようで一時的に arm64-linux と arm32-linux も allow_failures に追加してエラーを無視させるようにしています。

[c853e48fc1] Jun Aruga 2024-08-31 06:39:57 UTC

3d83df2b963476df91d22199e589955ed08d4af6 の続きでそもそも Travis-CI 用の設定ファイル .travis.yml 自体を削除して Travis-CI の開始しないようにしています。

[4303a02f46] Jun Aruga 2024-09-02 12:47:18 UTC

GitHub Actions の Windows 版の workflow で path_ignore を使ってドキュメントの変更のみの時に pull request に対してテストを実施しないようにしていたのを削除しています。マージのために Windows の workflow の結果も必須にしたのでこれによりマージできなくなってしまうということがあったようです。

[b00b0d5f8f] David Rodríguez 2024-08-30 16:47:17 UTC

bundler のエラーメッセージの改善。

[bb511c3f10] David Rodríguez 2024-08-30 16:57:20 UTC

bundler の bundle install で上書きする既存のディレクトリの削除をする時にディレクトリのみあって中が空だったら削除しないようにしています。削除後に再度ディレクトリを作成する時に親ディレクトリの権限が緩いと警告が余計に出てしまうのでそれを抑制するためみたいです。

[fe2db1bed9] tomoya ishida 2024-09-02 14:34:35 UTC

標準添付ライブラリ reline の Windows 版の Win32API の呼び出しにユーティリティメソッドを導入して端末に対する呼び出しが失敗した時に標準出力の handler に fallback するようにしています。 https://github.com/ruby/reline/pull/734

[b539b43b2b] Burdette Lamar 2024-09-02 15:36:49 UTC

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

[1f00f6a09e] Nobuyoshi Nakada 2024-08-12 11:18:34 UTC

rubygemsflock つきの File.open に渡すフラグをビットフラグで指定するようにしてファイルが存在しているかどうかで mode を切り替えていたのを不要にしています。その他ちょっとしたリファクタリング

[c1fecc5eab] Nobuyoshi Nakada 2024-08-12 11:38:09 UTC

rubygems の Gem.read_binary および Gem.write_binary メソッドの実装に File.binread, File.binwrite を利用するようにしています。

[1b82d63462] Peter Zhu 2024-08-30 19:17:06 UTC

GC.latest_gc_info のテストでたまに失敗するのを抑制するために一部の処理を自動的な GC の起動を停止してから実施するようにしています。

[c93d07ed74] yui-knk 2024-08-26 00:22:35 UTC

parse.y で set_parser_s_value() というマクロの定義を本体の parser の時に引数を (void) にキャストするようにしていたのを引数の参照をなくすようにしています。余計な文字列オブジェクトの生成を抑制するためとのこと。 [ruby-core:118939] [Bug #20695]

[a33416a333] Nobuyoshi Nakada 2024-09-02 11:26:14 UTC

tool/lib/path.rb で symbolic link を作成する処理で Windows での存在しないパスへのリンク時のエラー対応の処理で絶対パスで存在チェックするようにしています。ちょっとよくわかりません。

[24c51e1cbb] David Rodríguez 2024-08-22 20:15:56 UTC

rubygems に vendoring している net-http と optparse で require の一部を require_relative を利用するように変更しています。

[053caa313b] David Rodríguez 2024-08-22 20:16:36 UTC

rubygems で securerandom を vendoring するようにしています。

[e66e3cf1b9] David Rodríguez 2024-08-30 12:37:28 UTC

rubygems で vendoring している resolve および securerandom で require のかわりに require_relative を利用するようにしています。

[81c71efc55] David Rodríguez 2024-08-30 12:38:29 UTC

bundler にも securerandom を vendoring しています。

[d612f9fd34] Jean Boussier 2024-09-02 08:17:23 UTC

拡張ライブラリ json で古い ruby のための preprocessor 分岐などでもう不要になっているものを削除しています。

[f4883e7904] Étienne Barrié 2024-09-02 08:49:27 UTC

拡張ライブラリ json のテストで子プロセスを起動する時に -I オプションでビルドしたライブラリを利用するようにしています。

[5fd3942466] Nobuyoshi Nakada 2024-09-03 04:35:00 UTC

標準添付ライブラリ optparse で optparse/version を require するのに require_relative を利用するようにしています。

[e7cb70be4e] Zack Deveau 2024-08-23 17:18:44 UTC

String#rindex が macOS で遅いそうで、memrchr(3) がない時に代替実装を定義して使うようにしています。

[20c3401543] Takashi Kokubun 2024-09-03 06:25:13 UTC

GitHub Actions の release 処理の workflow でパッケージを S3 に配置する処理の aws コマンドから --profile オプションの指定を削除しています。

[ad613d0884] Takashi Kokubun 2024-09-03 06:29:43 UTC

20c3401543a92c3f310a03c4d2e664c463e390ef の再修正で GitHub Actions で環境変数から AWSaccess key が得られる時に自動でオプションを抑制するよう tool/release.sh を変更しています。

[6986536488] Takashi Kokubun 2024-09-03 06:31:58 UTC

ad613d088415fa9d9373ae0a2ef367311005f9c0 からのさらに続きで tool/release.sh で aws コマンドの --profile オプションは常に消すようにしています。動作確認のために試しに消してみたようです。

[1b8fb4860b] Takashi Kokubun 2024-09-03 06:37:15 UTC

ということで 6986536488ba23c033c043ef8765438f22df7bf5 の tool/release.sh の一時的なオプション削除は revert しています。

[452eb24b15] Hiroshi SHIBATA 2024-09-03 07:11:34 UTC

GitHub Actions のリリース作業用 workflow で ruby-build の更新用の GitHub Actions を起動するための step で必要な payload が欠けていたのを追加しています。

[245ed2fc89] zverok 2024-08-25 17:58:47 UTC

d450f9d6a28f01b7ca6030a925921dbf35cee439 で Range#step 利用時の実装を succ メソッドによらず "+" メソッドを利用するようにした最適化により、文字列の要素の Range の場合にうまく動かなくなっていたのに対処して要素が文字列の時の特別処理を追加しています。 [ruby-core:106314] [Feature #18368]

[b7fa2dd0d0] Jean Boussier 2024-09-03 07:38:18 UTC

rb_enc_str_asciionly_p() という C API で文字列オブジェクトの coderange で判定が可能であれば Encoding の取得はスキップする最適化を追加しています。拡張ライブラリ json でのプロファイリングの結果 JSON.dump 時にここが重いのがわかったのでその最適化のためとのこと。

[af143d8a74] ydah 2024-09-03 08:53:55 UTC

予約語の undef に対応する AST の NODE_UNDEF (構造体 rb_node_undef_t) に位置情報を含めるようにしています。