ruby-trunk-changes 2024-04-12

今日は主に def m(...) のように委譲専用の引数表記のメソッド内で無名ブロック引数を使ったメソッド呼び出しを SyntaxError にする変更などがありました。

[9183101aa7] Jean Boussier 2024-04-11 10:24:05 UTC

prism の更新。バッククオートによるコマンド実行のための文字列は freeze した状態で ISeq に埋め込むようにしています。"`" メソッドを再定義した時にスクリプトに書かれた文字列を破壊的変更できてしまうため。

[c2622b5253] Alan Wu 2024-04-11 14:37:56 UTC

YJIT の x86_64 アーキテクチャで論理演算のための命令の生成で両オペランドレジスタの時の最適化を行い、VM 命令の opt_and, opt_or などの最適化命令でこれが利用されるように中間表現の命令を少し変更しているようです。 https://github.com/ruby/ruby/pull/10498

[2df4638538] Nobuyoshi Nakada 2024-04-11 12:47:44 UTC

template/Makefile.in で拡張ライブラリの clean 処理のターゲット .bundle/*clean.sub たちの依存関係から ext/*.mk を消しています。

[ca81f5a5de] Nobuyoshi Nakada 2024-04-11 12:53:58 UTC

template/Makefile.in にターゲット .bundle/realclean を追加して bundled gems のインストール時の lock ファイルを削除させるようにしています。

[f2369de2a4] Peter Zhu 2024-04-11 16:08:03 UTC

gc.c の冗長なキャストの削除。

[c5e661b1d7] Cody Cutrer 2024-04-11 16:21:01 UTC

よくわかりませんが bundler の plugin インストール時のディレクトリ探索のルールの修正をしているようです。

[e36988450e] Nobuyoshi Nakada 2024-04-12 07:07:49 UTC

メソッド定義に委譲専用の引数を受け取る def m(...) の記法を使ったメソッドの時にそのメソッド内で別のメソッドに無名ブロック引数(foo(&))でブロック引数のみ委譲する書きかたが許容されていたのを他の種類の無名引数と同様 SyntaxError にするようにしています。 [ruby-core:117496] [Bug #20423]

[69823b97b5] Nobuyoshi Nakada 2024-04-12 08:02:46 UTC

prism の更新。 e36988450e9e9ccccb41c72135f1e57790920668 の続きでエラーメッセージを変更しています。 [ruby-core:117496] [Bug #20423]

[91c457e091] Nobuyoshi Nakada 2024-02-28 08:46:39 UTC

.mailmap に svn 時代のアカウント名を弊機していたのを削っています。

[7b8b936f4a] Satoshi Tagomori 2024-04-12 09:31:22 UTC

class_search_class_ancestor() のコメントの typo? を修正しています。

[f1d9e895b9] Stan Lo 2024-04-12 12:00:58 UTC

6a505d1b59cf326a8e004fc06e02f30222b17f3firb の組み込みコマンドの実装方針変更で IRB::Context#evaluate の呼び元でやってたコマンドかどうかによる分岐を IRB::Context#evaluate 内に移動するリファクタリングhttps://github.com/ruby/irb/pull/920