ruby-trunk-changes 2024-04-07

今日はコマンドラインオプション --dump の引数の指定のしかたの拡張や拡張ライブラリ pty の不具合修正などがありました。

[9b5d4274a2] Nobuyoshi Nakada 2024-03-08 04:57:05 UTC

コマンドラインオプションの --dump の insns_without_opt や parsetree_with_comment のような他のオプションに suffix をつけたものを parsetree+with_comment のように "+" で連結するように変更? しています。 [ruby-core:117088] [Feature #20329]

[df8f1f78f0] Nobuyoshi Nakada 2024-03-18 14:22:30 UTC

9b5d4274a247567c583667f4c8442872d8765d39 の続き。コマンドラインオプション --dump の引数の + で繋げる suffix を別の --dump オプションで渡したりする指定方法も受付けるようにしているようです。 [ruby-core:117088] [Feature #20329]

[977672731f] yui-knk 2024-04-06 10:12:39 UTC

parse.y の WARN_SPACE_CHAR() マクロでの参照する引数名の間違いを修正。

[02f5e627a4] yui-knk 2024-04-06 10:05:53 UTC

parse.y の WARN_IVAL() というマクロが呼び元で INT2NUM() で変換したものを NUM2INT() で戻すよう引数を変換していたので両方削っています。

[0b4db711dd] yui-knk 2024-04-06 10:09:36 UTC

02f5e627a49c28beb421c869e4e1d4525d59d8ac で Universal Parser 用の構造体の関数ポインタのメンバー num2int が不要になったようなので削除しています。

[ad90fdd24c] Jeremy Evans 2024-04-05 02:32:30 UTC

添字つき代入メソッド #[]= にブロック引数を渡せなくしたために不要になった compile.c の処理を削除しています。

[7767db2379] yui-knk 2024-04-06 15:42:17 UTC

parse.y の RIPPER マクロでの preprocessor 分岐で case 文の when 節の重複警告関係の処理を除外するようにしていたのをやめています。また rb_parser_check_literal_when() という関数は check_literal_when() に解明して static 関数にしています。 ripper から呼ぶ必要がなくなったということかな。

[70a0dd4162] yui-knk 2024-04-07 00:46:11 UTC

7767db237935135e14cb0f9ca70aa3a8dea03faa で parse.y の WANR_IVAL() マクロが未使用になったので定義を削除しています。

[6bfabd076b] yui-knk 2024-04-07 00:56:47 UTC

internal/parse.h の存在しなくなった rb_parser_node_case_when_optimizable_literal() 関数の prototype 宣言を削除しています。

[eaa6e4b228] Nobuyoshi Nakada 2024-04-07 04:35:20 UTC

doc/pty/README.ja および doc/pty/README.expect.ja のマークアップを修正しています。

[dfa0897de8] Samuel Williams 2024-04-07 07:18:09 UTC

rb_fiber_new() で Fiber 作成時のデフォルトを non-blocking Fiber を作るように変更しています。コミットログによると Enumerator のためみたいで、確かにこの関数を呼ぶのは Enumerator の作成時だけみたいです。関数名からすると意外。 https://github.com/ruby/ruby/pull/10478
しかしなぜか 6bfabd076b99bd47ee10277b8de24aaa791be69b の internal/parse.h の変更がいっしょに巻き戻ってしまっているようです。

[b5b54c19f6] Nobuyoshi Nakada 2024-04-07 06:28:07 UTC

process.c の ERRMSG1()、ERRMSG2() といった format 文字列で整形する変数の数ごとに定義していたマクロを可変長引数を受け付けるマクロ定義を使って ERRMSG_FMT() として定義するようにリファクタリングしています。しかし使っているところの変更がないので ERRMSG1()/ERRMSG2() は未使用だったみたいです。

[ed4d03ea41] Nobuyoshi Nakada 2023-08-07 23:06:08 UTC

b5b54c19f65a42c9229eff5e978937222d46ca41 と同様に dln_find.c の dln_warning() マクロの定義に可変長引数を受付ける機能を利用するようにしています。

[bdb1fc1e5b] Samuel Williams 2024-04-07 07:57:15 UTC

non-blocking Fiber のテストのための Scheduler の実装で Fiber#resume でなく Fiber#transfer を利用するように変更しています。 https://github.com/ruby/ruby/pull/10479

[0620f006c2] Nobuyoshi Nakada 2023-08-07 23:06:18 UTC

ruby.c のスクリプトファイル名のパスのデリミタを DOSISH というマクロで分岐していたのをやめています。 Windows 以外の環境で DOSISH が定義される環境がないので実質使われないパスだったようです。

[0d93fd0f69] Nobuyoshi Nakada 2023-08-07 23:06:40 UTC

ruby.c の push_include() という関数を削除して呼び元の push_include_cygwin() に展開しています。

[b88e0d6653] Nobuyoshi Nakada 2023-08-08 02:29:50 UTC

0d93fd0f69cf6b8f60d76948b2e7d1144c1cd843 の続きのリファクタリングruby.c の push_include() という関数を唯一の呼び元の ruby_push_include() に展開しています。

[b473d304d4] Samuel Williams 2024-04-07 10:20:22 UTC

dfa0897de89251a631a67460b941cd24a14c9b55 で internal/parser.h の変更が意図せず revert されてしまったので全体をまとめて revert しています。元の変更もあらためて後で入れなおすということみたいです。 https://github.com/ruby/ruby/pull/10478 https://github.com/ruby/ruby/pull/10480

[c4dadfbd47] Nobuyoshi Nakada 2024-04-07 11:54:00 UTC

拡張ライブラリ pty で setpgrp(3) の呼び出し部分を SETGRP_VOID というマクロのチェックで分岐していたのを SETPGRP_VOID をチェックするように修正しています。

[cccffeff2f] Nobuyoshi Nakada 2024-04-07 12:16:26 UTC

拡張ライブラリ pty で setsid(3) がない環境で使われる関数で変数の宣言が足りてなくてビルドできなかったのを修正しています。