ruby-trunk-changes 2023-09-28

今日は主に YARP を Prism と改名する変更や break/next/redo/yield などの制御文を書けない場所に書いた時のエラーをランタイムのエラーから構文解析時のエラーになるようにする変更などがありました。

[e1250a5f97] Nobuyoshi Nakada 2023-09-07 17:16:15 UTC

break/next/redo などの制御文がブロック外に置かれている時に実行時エラーではなく構文解析時に SyntaxError にするようにしているようです。

[9fd342f8d2] Nobuyoshi Nakada 2023-09-08 11:03:32 UTC

e1250a5f9778f463a541bc1ee5a951f64c131bbf の変更に対応して yarp のテストを修正しているようです。

[ff8278e52c] Nobuyoshi Nakada 2023-09-10 10:14:46 UTC

e1250a5f9778f463a541bc1ee5a951f64c131bbf の続きで制御構文の文法エラー時のエラー箇所を示す位置情報を修正しているようです。

[29e5fca718] Nobuyoshi Nakada 2023-09-10 16:02:34 UTC

e1250a5f9778f463a541bc1ee5a951f64c131bbf と同様に retry が不可能な場所に書かれてた時に構文解析時に SyntaxError にするようにしています。

[5b36c11e21] Nobuyoshi Nakada 2023-09-11 15:35:05 UTC

e1250a5f9778f463a541bc1ee5a951f64c131bbf29e5fca7181de5f0db372374d5f39704f81f2731 の制御文のエラーを実行時から構文解析時に起こすようにした変更で defined? の引数の中の場合は許容するようにしています。

[3cec94624b] Kevin Newton 2023-09-26 15:39:25 UTC

yarp の更新と同期ツールの yarp のファイル名変更の追随。

[758e70d3d4] Kevin Newton 2023-09-26 15:43:05 UTC

.gitignore の yarp 関係の自動生成ファイルのリストを更新しています。

[7e0971eb5d] Kevin Newton 2023-09-26 15:46:55 UTC

common.mk の yarp 関係の依存関係を更新しています。

[8ab56869a6] Kevin Newton 2023-09-27 16:22:36 UTC

YARP を Prism と改名するためディレクトリ/ファイル名(のみ)を変更しています。 [ruby-core:114884] [Bug #19900]

[4f73a7c2f7] Kevin Newton 2023-09-27 16:24:48 UTC

8ab56869a64fdccc094f4a83c6367fb23b72d38b の続きで YARP から Prism への改名のためファイルの内容のモジュール名や require するファイルパスなどを修正しています。 [ruby-core:114884] [Bug #19900]

[3d0a46796b] Kevin Newton 2023-09-27 16:39:53 UTC

ruby 本体側の YARP から Prism への改名への追随。

[84312e688f] BurdetteLamar 2023-09-27 17:44:04 UTC

Process.spawn の rdoc 用コメントの修正。

[62181e17da] Jeremy Evans 2023-09-26 22:31:55 UTC

Thread::Queue や Thread::SizedQueue が freeze しても push/pop などができてしまう、というチケットに対してそもそも freeze を受付けないようにしています。 TypeError 例外を発生させるようです。 [ruby-core:99903] [Bug #17146]

[175ac32c62] Kevin Newton 2023-09-27 19:21:45 UTC

compile.c の rb_iseq_compile_prism_node() で prism 側の変更への追随。

[dd5814ed1a] Nobuyoshi Nakada 2023-09-27 23:01:35 UTC

5b36c11e21ce3ab227a0a3ec40d9bbb723524c4f で追加したテストで未使用の式(defined?)の警告が出るのでその抑制のために ! をつけるようにしています。

[aa6764e66d] Nobuyoshi Nakada 2023-09-27 23:16:36 UTC

.github/workflows/ubuntu.yml のインデントの修正のみ。

[81c0d0e2fb] Nobuyoshi Nakada 2023-09-28 00:30:35 UTC

GitHub Actions の Ubuntu 向け workflow の環境変数の設定のための && や || を使った条件分岐の条件を反転させています。 空文字列が偽になるので元の書きかただとうまく分岐できていなかった模様。

[b72e320733] Soutaro Matsumoto 2023-09-28 02:30:08 UTC

gems/bundled_gems の rbs のバージョンを 3.2.2 に更新しています。

[684686a1e1] git 2023-09-28 02:47:00 UTC

gems/bundled_gems の net-smtp のバージョンを 0.4.0 に更新しています。また NEWS の bundled gems のバージョンリストにも net-smtp を追記して、b72e320733c21c4309b8831a1a48d315f2b549d0rbs のバージョン更新にも追随しています。

[74c6781153] yui-knk 2023-08-22 01:26:38 UTC

T_NODE 型をオブジェクトを struct RNode という共通の構造体で表現していたのをやめて node の種類毎の構造体を定義するように変更しています。かなり大きな変更になりますね。でも T_NODE 型のオブジェクトで wrap されるのは変わらないのかな?

[e9bc51966b] Burdette Lamar 2023-09-28 03:02:00 UTC

標準添付ライブラリ open3 の popen3 の rdoc 用コメントの手直し。 https://github.com/ruby/ruby/pull/8521

[a790f83bac] Nobuyoshi Nakada 2023-09-28 05:30:10 UTC

dd5814ed1a7496274e733d567a830f7e56aa80e1 の defined? の構文のテストで警告抑制のためにスクリプト片を変更してましたが assert_parse のほうで警告抑制するように修正しています。

[ad96962173] Nobuyoshi Nakada 2023-09-28 05:30:30 UTC

break/next/redo がトップレベルに書かれているのは SyntaxError にならないようにしているみたいです。これはなぜだろう。[追記]コマンドラインオプションの -n/-p などを指定した場合トップレベル全体がループ内に入っているような扱いになるので next などが意味を持つためとのこと。なるほど。[/追記]

[b5e23d3e3b] Nobuyoshi Nakada 2023-09-13 04:34:30 UTC

parse.y で keyword_yield というノードを k_yield というノードで wrap して yield を書けない場所に書かれてたら実行時エラーではなく SyntaxError にするようにしています。

[bf335bcb11] Nobuyoshi Nakada 2023-09-28 08:53:02 UTC

gems/bundled_gems の rbs のテストに使う commit hash の指定を追加しています。