ruby-trunk-changes 2024-03-17

今日は主に [] や []= といった添字を指定するようなメソッドではキーワード引数とブロック引数を渡す呼び出しを禁止する仕様変更がありました。

[137b52a881] Stan Lo 2024-03-16 13:51:01 UTC

irb の rdoc 用コメントに markdown によるマークアップを利用するようにしています。 https://github.com/ruby/irb/pull/890

[d4a53b465a] Nobuyoshi Nakada 2024-03-16 14:29:06 UTC

make test-all のテストおよび rubyspec で Kernel#open と IO#read を使ってたところを File.binread を使うようにリファクタリングしています。

[aae9f5628c] Nobuyoshi Nakada 2024-03-16 14:44:07 UTC

d4a53b465a6f77765e29f019d6ea4e6508c39f17 と同様に一カ所テストで Kernel#open と IO#read を使ってたところを File.binread におきかえています。

[bda5b09937] tomoya ishida 2024-03-16 15:19:59 UTC

よく読めてませんが irbhistory ファイルのファイルパスを決めるロジックを修正しているようです。 https://github.com/ruby/irb/pull/901

[815c7e197c] Jeremy Evans 2024-03-14 22:10:07 UTC

メソッド呼び出し時に普通にキーワード引数を指定した時の不要な Hash オブジェクトの生成を抑制しているようです。

[df5ef28233] Nobuyoshi Nakada 2024-01-18 10:27:09 UTC

Array#[] とか Hash#[] のような "[]" メソッドにブロック引数を渡す呼びかたを文法エラーにしているようです。もともと呼べててそのテストもあったのでわざとのような気もしますが、prism がこれをパースできない(または意図的にエラーにしている)のでエラーにするということみたいです。まあブロック引数では渡せるけど普通のブロックを渡す記法はできないのでなくても困らないとは思いますが。 [ruby-core:114997] [Bug #19918]

[0d5b16599a] Nobuyoshi Nakada 2024-02-20 02:59:36 UTC

df5ef282337764508a1e1d93459d7a280e46647c のブロック引数と同様に "[]" や "[]=" メソッドにキーワード引数を渡す記法も SyntaxError になるようにしています。なるほどこっちが発端だったみたいですね。 [ruby-core:116460] [Bug #20218]

[e69708e5ef] Nobuyoshi Nakada 2024-03-17 04:37:02 UTC

NEWS に df5ef282337764508a1e1d93459d7a280e46647c0d5b16599a4ad606619228623299b931c48b597b での [] や []= メソッドへのブロック引数とキーワード引数の禁止について追記しています。 [Bug #19918] [Bug #20218]

[a91800c4a0] Nobuyoshi Nakada 2023-08-07 15:28:36 UTC

TAG_JUMP() のタグの状態についての RUBY_ASSERT() でのチェック内容をより厳密にしています。

[28a2105a55] Nobuyoshi Nakada 2023-08-07 15:32:45 UTC

rb_longjmp() の引数や EC_EXEC_TAG() の戻り値の型を int から enum ruby_tag_type という enum 型に変更しています。

[9e470ebdcd] Nobuyoshi Nakada 2024-03-17 09:28:28 UTC

301fa452f7a9cdea922103e9c50d85a2d5652d0d とだいぶ前ですが ripper や template/encdb.h.tmpl や template/transdb.h.tmpl などのコード生成テンプレートで flip-flop 文法を利用していたのをやめていたのを revert しています。たしか flip-flop の文法を廃止してなにか別のことに使おうという予定だったんだっけ?

[e670892497] Nobuyoshi Nakada 2024-03-17 09:47:18 UTC

ext/ripper/tools/preproc.rb で parse.y の変更によりもう不要になった部分を削除しています。

[5fd6b461c7] Nobuyoshi Nakada 2024-03-17 10:09:37 UTC

9e470ebdcd59bc2655d78a61e2a8e8bf6a4e0521 の続きで template/encdb.h.tmpl と template/transdb.h.tmpl でファイルのマッチに Dir.open+grep を使っていたのを Dir.glob を使うようにして Kernel#open のかわりに File.open を使うように変更。また flip-flop を使っていたのを展開して使うのをやめています。