ruby-trunk-changes 2025-09-13

今日は主に行頭に論理演算子を書くことで前行からの行継続として扱うようにする文法の変更や引数として 1行メソッド定義を書いた時にかっこのないメソッド呼び出しを許容する文法修正などがありました。

[a8c5b2bf51] Burdette Lamar 2025-09-12 13:12:09 UTC

String#lstrip の rdoc 用コメントの手直し。

[adcde78dbf] Peter Zhu 2025-09-11 12:47:08 UTC

imemo.c の rb_imemo_tmpbuf_new() の内容を IMEMO_NEW() に委譲するリファクタリング

[5a2cedd051] Nobuyoshi Nakada 2025-09-12 14:14:59 UTC

prism 用のの Makefile の prism/srcs.mk に BASERUBY がない時のルールを追加しています。

[8a30594d2c] Kazuki Yamaguchi 2025-09-12 14:02:27 UTC

拡張ライブラリ openssl の c0820058243842d1391d896baf67914a8ea50e13 の再修正で ERR_peek_error() が 0 を返した時に ERR_GET_REASON() に渡してしまわないようにしています。

[691a5545e6] Étienne Barrié 2025-09-12 14:16:52 UTC

文法のテストの委譲用の "..." 引数のテストで誤って同じオブジェクトを使いまわしていたのを修正しています。

[a35ceeedfa] Takashi Kokubun 2025-09-12 16:19:18 UTC

5a2cedd051634d6d1c8fbf48b0327f8cd8eec495 の prism/srcs.mk の変更を revert しています。GitHub Actions で依存関係チェックで差分が検出されてしまってエラーになったとのこと。

[d8e9ec6693] Stan Lo 2025-09-12 17:01:45 UTC

ZJIT の統計情報のカウンタに dynamic_send_type_send というのを追加しています。 https://github.com/ruby/ruby/pull/14528

[0803b9a6ac] Alexander Momchilov 2024-09-16 13:45:23 UTC

prism の pm_parser_init() および pm_parser_free() の Doxygen 用コメントに追記しています。

[2c9afcc389] Kevin Newton 2024-12-21 20:36:03 UTC

prism で改行のあと行頭に論理演算子を書くことで暗黙の行継続する記法を許容するようにしています。 [ruby-core:120073] [Feature #20925]

[a9b35b3a07] Peter Zhu 2025-09-12 13:32:30 UTC

構造体 struct rb_imemo_tmpbuf_struct でメモリレイアウトを RVALUE? とそろえるために追加していた不要なメンバーを削除しています。

[120d3b12a9] Alexander Momchilov 2024-08-30 19:02:01 UTC

prism の Doxygen 用コメントのマークアップや関数名の表記の修正。

[f2dbc4ec82] Earlopain 2025-09-02 11:29:35 UTC

prism で 1行メソッド定義内で引数にかっこをつけないメソッド呼び出しが SyntaxError になる場合がある不具合を修正しています。 [ruby-core:101475] [Bug #17398]

[043ff370c1] Kevin Newton 2025-09-12 18:07:28 UTC

f2dbc4ec82a0e103ac1e3f64f5983540cdc75fd3 の 1行メソッド定義の文法のテストに assert_valid_syntax を利用するようにリファクタリングしています。

[869c63bcc3] Alexander Momchilov 2024-08-30 20:11:50 UTC

prism の Doxygen 用コメントに \memberof というアノテーションを追加しています。

[1efccd5f56] Stan Lo 2025-09-12 18:26:24 UTC

行頭の論理演算子の文法のテストを parse.y 利用時にはスキップするように一時的に test/.excludes-parsey/ に指定を追加しています。

[f0578492ad] Kevin Newton 2025-09-12 19:19:19 UTC

prism のバージョンを 1.5.0 に更新しています。

[d8bc3d813f] git 2025-09-12 19:31:18 UTC

NEWS の default gems のバージョンリストの prism のバージョンを更新しています。

[eaf64af61e] Takashi Kokubun 2025-09-12 19:55:03 UTC

ZJIT でサポートしていないメソッドの呼びかた(引数の渡しかた)の時の処理方法を変更しています。 https://github.com/ruby/ruby/pull/14518

[d3cb347a40] Takashi Kokubun 2025-09-12 20:34:55 UTC

YJIT と ZJIT の実装をさらに共有して jit.c に移動しています。 https://github.com/ruby/ruby/pull/14520

[ea8d493763] Earlopain 2025-09-12 20:49:35 UTC

prism が対象とする ruby のバージョンを version.h から取り込むようにしています。prism のバージョンを更新することで自動的に最新版の ruby の文法を parse してしまわないようにするためみたいです。 https://github.com/ruby/ruby/pull/14523

[599f58fb83] Burdette Lamar 2025-09-12 21:47:54 UTC

標準添付ライブラリ erb の ERB クラスの rdoc 用コメントを markdown 形式にして大きく追記しています。 https://github.com/ruby/erb/pull/67

[a8c829e7f0] yui-knk 2025-08-29 07:26:52 UTC

f2dbc4ec82a0e103ac1e3f64f5983540cdc75fd3 の prism の変更と同じく parse.y の実装でも 1行メソッド定義内でかっこのないメソッド呼び出しを含むものを式文として書けるようにしています。parse.y もということはこれは文法変更だったんですね。 [ruby-core:101475] [Bug #17398]

[10f748480b] Nobuyoshi Nakada 2025-09-12 14:14:59 UTC

5a2cedd051634d6d1c8fbf48b0327f8cd8eec495 のリトライ。 prism/srcs.mk の依存関係追加と同時に元になる prism/srcs.mk.in にも同じ差分を入れています。

[618224adf6] Nobuyoshi Nakada 2024-12-23 05:39:07 UTC

parse.y の実装でも行頭に論理演算子を書いた時に暗黙に行継続しているものとして扱う文法の変更を実装しています。 [ruby-core:120073] [Feature #20925]

[ff93185f4a] Nobuyoshi Nakada 2025-09-13 05:50:57 UTC

618224adf620bd72645b3fada4f51e805196f5ca で対応したので 1efccd5f5672c7ecbea231784f8876d12f7758b8 で一時的に指定していた parse.y 利用時の行頭の論理演算子での行継続の文法のテストの skip 指定を削除しています。

[91e5647115] Nobuyoshi Nakada 2025-08-19 14:54:51 UTC

addr2line.c や namespace.c、拡張ライブラリ socket で strcpy(3) を利用していたところが OpenBSD で警告の対象となっていたので利用を避けるようにしています。 strlcpy() や memcpy() など明示的に長さを指定する関数を使いましょうということみたいですね。

[9b40d2b275] Nobuyoshi Nakada 2025-09-12 14:12:38 UTC

91e56471151ea8250fdd9d3d1fd0ccf9e5416ae3 の再修正で namespace.c で拡張子用のバッファサイズを越える時のループ打ち切り条件を追加しています。

[bb5cd8e049] Nobuyoshi Nakada 2025-09-13 07:36:48 UTC

GC の default 実装でも strcpy() の利用をやめて strlcpy() を使うようにしています。

[717ad9f41e] Nobuyoshi Nakada 2025-09-12 14:16:59 UTC

拡張ライブラリ socket の C のスタイルの修正と for 文の不要な初期化部の削除。

[234f4c0bb6] Nobuyoshi Nakada 2025-09-12 14:17:23 UTC

prism の prism/util/pm_string.c の文字列用のバッファの空文字列用に自動変数(スタック上)へのポインタを入れてしまっていたので static 修飾子をつけて有効なメモリ領域になるように修正しています。

[9620964f9c] Nobuyoshi Nakada 2025-09-13 09:02:55 UTC

ea8d49376375bf3029abe8851ef88f880eeb0e1a で prism が同梱されている ruby のバージョンをヘッダから取得して文法のバージョンとして使おうとしてたのを RUBY_API_VERSION_MAJOR/RUBY_API_VERSION_MINOR を利用するようにしています。

[caa5d8cdd7] Nobuyoshi Nakada 2025-09-13 10:29:05 UTC

拡張ライブラリ json のテストで ostruct に依存しているテストを skip するように test/.excludes/JSONGenericObjectTest.rb に指定を追加しています。

[46095d2680] Nobuyoshi Nakada 2025-09-13 06:03:56 UTC

C のコーディングスタイルを修正する tool/auto-style.rb に -n オプションで dry run する機能や引数で修正対象のファイルを明示的に指定する機能を追加しています。

[ab3b582acc] Nobuyoshi Nakada 2025-09-13 06:04:20 UTC

tool/auto-style.rb で修正対象のファイルに .y の拡張子のファイル(parse.y) を追加しています。

[d2cea4b688] Nobuyoshi Nakada 2025-09-13 11:10:42 UTC

parse.y の if 文の else 節のコーディングスタイル修正。