ruby-trunk-changes 2024-04-15

今日は主にブロックを呼び出さない(yield しない)メソッドをブロックを渡して呼び出すと警告を出力するようにする変更などがありました。

[8d5d6ec6e7] Nobuyoshi Nakada 2024-04-14 11:35:34 UTC

3368913be3838d152e42bde02a94219102b61f71 の拡張ライブラリ pty の extconf.rb の変更で if 文の条件部に or を書き忘れてた不具合を修正しています。

[339128b190] Mari Imaizumi 2024-04-14 17:33:48 UTC

標準添付ライブラリ reline の vi mode, emacs mode のキーバインディングの不要なもの(重複しているもの)を削除しているようです。 https://github.com/ruby/reline/pull/678

[515e52a0b1] yui-knk 2024-04-07 01:59:51 UTC

拡張ライブラリ ripper でも Hash リテラルのキーに重複したリテラルが使われていた時の警告をイベントフックとして検出できるようにしています。parse.y 内では警告の出力に専用のマクロを使うようにしないと ripper でサポートされないみたいですね。

[9180e33ca3] Koichi Sasada 2024-03-26 22:29:38 UTC

ブロックをまったく利用しないメソッドにブロックを渡して呼び出した時に初回のみ警告を出力するようにしています。また ruby 実装のメソッドでブロック利用の有無を知らせるために Primitive.attr! に :use_block という引数の対応を追加しています。ISeq へのコンパイル時にブロックの有無は判定しているので、実際に呼ぶかどうかはともかくブロックを yield するような命令が存在したらブロック受付けているという判定になるようです。def m(...); n(...); end みたいなのはどこで use_block フラグを立ててるんだろう? [ruby-core:91214] [Feature #15554]

[fc363944b4] Nobuyoshi Nakada 2024-04-15 05:05:43 UTC

標準添付ライブラリ optparse のバージョンを 0.5.0 に更新しています。

[b6a10a1518] git 2024-04-15 05:07:51 UTC

NEWS の default gems のバージョンリストに optparse の項目を追加しています。

[145cced9bc] Koichi Sasada 2024-04-15 05:22:40 UTC

9180e33ca3a5886fec3f9e0a2f48072b55914e65 の使われないブロック渡しについての修正でかっこありの super() で誤って警告が出てたので修正しています。 [ruby-core:91214] [Feature #15554]

[9a57b04703] Koichi Sasada 2024-04-15 08:06:03 UTC

9180e33ca3a5886fec3f9e0a2f48072b55914e65 の修正の 145cced9bcb6a52fccfa0c669121bd07d3b3ff74 のさらに再修正。 super() や ZSUPER そのものにブロックを渡してるのを警告を抑制してたのはやっぱり勘違いだったので警告するようにしています。 [ruby-core:91214] [Feature #15554]

[bb1c3418d0] Jean Boussier 2024-04-15 07:04:51 UTC

String#@- メソッドのテストが 1b830740ba8371c4bcfdfc6eb2cb7e0ae81a84e0 の影響で失敗することがあったそうで、テストのほうを修正して String#@- をメソッドチェインするようにしています。これはなにが変わるんだろう。