ruby-trunk-changes 2020-04-23

今日は 1行メソッド定義内での右代入をやっぱり禁止する変更や、1行メソッド定義での引数のかっこを必須にする変更、XDG_??? の環境変数群への対応などがありました。

[02ad393cd6] Nobuyoshi Nakada 2020-04-22 09:56:06 UTC

67bcac879a2e0ddfb4e7bbd7cb5e5401422de76a で一行メソッド定義内での右代入を可能にしていましたが、やっぱり非常にまぎらわしいのでやめるみたいで revert しています。

[1fe5bffefd] Nobuyoshi Nakada 2020-04-22 09:56:06 UTC

02ad393cd6bd87a7cc21ef71d5b21ad0f3fe2f34 の続きで 1行メソッド定義内で右代入ができないことを確認するテストを追加しています。

[1997e10f6c] Nobuyoshi Nakada 2020-04-22 10:07:33 UTC

1行メソッド定義では = で終わるメソッドの定義とのまぎらわしさを解消するため引数のかっこを(引数がなくても)必須にしています。 def m() = x; みたいな感じですね(まだ慣れない)。

[6292271ef7] Kazuhiro NISHIYAMA 2020-04-22 16:40:01 UTC

GitHub Actions の Ubuntu 環境と MJIT 用のアクションで ~/.config/ と PATH 環境変数内のディレクトリの mode から所有者以外の書き込み権限を落とすようにしています。警告除去のため。

[492e8599c6] git 2020-04-22 16:41:21 UTC

version.h の日付更新

[8119bcbfc0] Koichi Sasada 2020-04-22 17:16:12 UTC

2943ff9d4441485a18773aa745bab7f47767dde2 のメソッドキャッシュクリア時の実装修正の追加修正。 undef によるメソッド定義削除のマーカーも正常な method entry として扱ってしまっていたため defined? で undef したメソッドも "method" になってしまっていたようなので、rb_method_entry() で undef のマーカーのチェックを追加して NULL を返すようにしています。 [ruby-core:97334] [Bug #16669]

[de9d6a7a8c] Nobuyoshi Nakada 2020-04-22 13:21:11 UTC

defined? についてのテストメソッドが長大だったのを対象ごとに分割しています。

[74c8aaef7d] Nobuyoshi Nakada 2020-04-23 01:24:49 UTC

8119bcbfc04772fe4012b5ed396a68f02e312316 の修正をリファクタリング。修正した内容は search_method_protect() と類似だったので(ちょっと違うけど)これに委譲するようにしています。 [Bug #16669]

[2e87488d13] Nobuyoshi Nakada 2020-04-23 01:25:09 UTC

test/unit で並列テストする時に対象のテストファイルのパスを File.realpath で symbolic link 解決しておくようにしています。

[d1f50b9872] Nobuyoshi Nakada 2020-04-23 01:44:27 UTC

Minitest::Unit のクラス変数 @@current_repeat_count の初期化がされていなかったので追加しています。 _run_anything メソッドを呼ぶと初期化してましたが、これが呼ばれないケースがあったのでしょう。

[14e013cdbb] Nobuyoshi Nakada 2020-04-20 09:41:03 UTC

標準添付ライブラリ rdoc の RbConfig::CONFIG からディレクトリパスを取得するのに古いバージョンの ruby を考慮した分岐をしていたのを消しています。

[f563f3c5ef] Burdette Lamar 2020-04-23 08:46:20 UTC

doc/implicit_conversion.rdoc というドキュメントを追加して to_int/to_str/to_ary/to_hash などのメソッドによる暗黙のオブジェクトの変換の慣習やこれが有効なメソッドの例などについて記述しています。 to_s と to_int の違いとか一時期すごい気にしてたけど最近あんまり気にしてないなぁ。 また Hash.[] メソッドの rdoc 用コメントに暗黙の変換による例やエラーになる時の例などを追記しています。

[5c6269c459] Hiroshi SHIBATA 2020-04-23 10:16:06 UTC

XDG_CONFIG_HOME、XDG_CACHE_HOME、XDG_DATA_HOME といった環境変数はアプリケーションなどの設定などを置くディレクトリを指定する標準的な方法として使われているので、rubygems や bundler, rdoc でもこれらの環境変数が指定されていたら尊重するようにしています。 https://github.com/ruby/ruby/pull/2174