ruby-trunk-changes 2021-10-09

今日は Kernel#autoload で load しても定数が定義されなかった時の挙動の変更や bundler の更新などがありました。

[08759edea8] Jeremy Evans 2021-10-08 21:54:26 UTC

Kernel#autoload で定数名の参照時に autoload する設定により load したファイルで対象の定数が定義されない場合に autoload の設定をクリアするようにしています。従来も load したファイルが $LOADED_FEATURES に追加されるのでそこから削除しなければ再 load はされなかったようですが、仮に削除してももう autoload されないように定数名のエントリ自体を削除するみたいです。ふーむ、機能を実験しようとした時とかでファイルを書きかえながら試してる場合は autoload を実行しなおさないと再ロードされなくなるのでちょっと注意が必要そうですね。 [ruby-core:92403] [Bug #15790]

[b4afedb0dd] git 2021-10-08 21:54:40 UTC

version.h の日付更新

[06c3e80611] Jeremy Evans 2021-08-13 15:16:24 UTC

configure に --enable-install-static-library というオプションをつけた時に --disable-shared も一緒に指定されていたらエラーにするようにしています。 [ruby-core:104361] [Bug #18000]

[ad92651d64] gabriele renzi 2021-09-30 11:51:08 UTC

bundler の git リポジトリの情報を表示する処理の共通部分をメソッドに切り出すリファクタリング

[d03d122ba1] Masataka Pocke Kuwabara 2021-10-02 16:30:55 UTC

rubygems の Gem::Specification#missing_extensions? の条件分岐の順序をいれかえて最適化しているみたいです。

[b857a87653] David Rodríguez 2021-10-08 11:03:17 UTC

bundler のテストで発生させる例外? のメッセージの変更。よくわからないですがあんまり挙動やテスト内容には関係ない変更みたいです。

[5a34b639fc] David Rodríguez 2021-10-08 11:04:34 UTC

bundler のテストで git コマンドを実行するところで git add してから git commit してたのを commit に -a オプションを追加して 1コマンドで実施するようにしています。

[a5bae843ff] David Rodríguez 2021-10-08 11:05:31 UTC

bundler のテストで git コマンド実行してブランチを作成するところでも 1コマンドで実施するように変更しています。

[991a3aad05] David Rodríguez 2021-10-08 11:06:21 UTC

bundler のテストで 5a34b639fc8f51f2464f36e59f32eff8b3fd2e0f で変更した git commit コマンドを利用するところで :raise_on_error というオプションを渡していたのを削っています。ここのコマンドは予想される失敗がなくなったのでエラー時はテスト自体をエラーにするためみたいです。

[91f794b516] David Rodríguez 2021-10-08 11:07:07 UTC

bundler のテストで git コマンドを操作するためのクラス Spec::Builder::GitUpdater で :branch オプションに "master" を指定したら例外を発生させてたのをやめています。

[7e506716d2] OKURA Masafumi 2021-09-20 14:18:14 UTC

bundler の bundle gem コマンドで生成した gemspec ファイルのデフォルトの spec.required_ruby_version を 2.6.0 以降にするように変更しています。ただし実行している ruby 自体が古い場合はそれにあわて 2.3.0 までは古いのも指定するようにしています。そのほか rubocop や standard といった gem の最低バージョンの指定も更新しています。

[489c22b17f] Nobuyoshi Nakada 2021-10-09 05:22:18 UTC

tool/lib/core_assertions.rb の Test::Unit::CoreAssertions::AllFailures#for というメソッド(assert_all? で使うやつかな、たぶん)でブロックを yirld する時にメソッドの引数をブロックにも渡すようにしています。

[3932227d96] Nobuyoshi Nakada 2021-10-09 07:17:01 UTC

Test::Unit::CoreAssertions#message メソッドの定義を削除して Test::Unit::Assertions#message に同様の処理を追加しています。

[fc913ad21d] Nobuyoshi Nakada 2021-10-09 07:17:37 UTC

tool/lib/test/unit.rb でバックトレースからテスト用ライブラリのファイルパスを取り除く処理で core_assertions.rb も除外対象になるように追加しています。

[c423cc932e] Nobuyoshi Nakada 2021-10-09 08:44:01 UTC

テスト用ライブラリの Test::Unit::CoreAssertions#assert_nothing_raised の例外処理を複数の rescue 節に分けて書くようにリファクタリングしています。