ruby-trunk-changes 2024-03-18

今日は主に Integer.sqrt の大きな数での最適化などがありました。

[dc06375c4f] David Rodriguez 2024-03-13 15:29:18 UTC

bundler の設定ファイルの行頭の # によるコメントアウトに対応するようにしています。

[e6487a9263] OKURA Masafumi 2024-03-18 02:37:39 UTC

irb の日本語のヘルプメッセージに新しいオプションの説明を追加しています。 https://github.com/ruby/irb/pull/903

[dcfbe36cb5] Soutaro Matsumoto 2024-03-18 03:32:53 UTC

gems/bundled_gems の rbs のテストに使う commit hash の指定を更新しています。 https://github.com/ruby/ruby/pull/10275

[0ff2c7fe6f] tompng 2024-03-17 14:03:38 UTC

Integer.sqrt の実装の初期値の探索を最適化しています。大きな整数についてかなり高速化になるようです。 https://github.com/ruby/ruby/pull/10274

[454b939d7c] Naoto Ono 2024-03-11 04:21:30 UTC

GitHub Actions の Launchable のためのアクションの未使用のコード削除。

[8a8df49174] Jean Boussier 2024-03-14 14:50:19 UTC

315bde5a0f95562f58405a43456ec6715ef20d32 で Exception#set_backtrace に Thread::Backtrace::Location の配列も受付けるようにした変更について NEWS や rdoc 用コメントに追記/更新しています。 [ruby-core:81102] [Feature #13557]

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 を使っていたのを展開して使うのをやめています。

ruby-trunk-changes 2024-03-16

今日はキーワード引数に Hash を展開して渡す時の中間オブジェクト抑制の最適化などがありました。

[91bf7eb274] Jean Boussier 2024-03-15 11:38:39 UTC

[Feature #20205] の frozen_string_literals: true をデフォルトにする布石として frozen_string_literals の値を真偽値で保持するのではなく指定がない場合も区別できるようにしています。警告を出したりするつもりなのかな。

[a83703af79] Nobuyoshi Nakada 2024-03-15 15:09:29 UTC

prism のテストの skip を追加。

[aceee71c35] Jeremy Evans 2024-02-29 18:57:25 UTC

キーワード引数を持つメソッドに Hash を m(**kw) のように展開して渡す時に不要な中間オブジェクトの生成を抑制して呼び元の Hash をそのまま渡して、参照側で破壊的な操作をしないようにする変更。

[185112f4ff] Peter Zhu 2024-03-15 19:26:56 UTC

gc.c の値を真偽値にする TF() というマクロが既に未使用になっているので削除しています。

[def7023ee4] Alan Wu 2024-03-15 21:00:24 UTC

VM スタックのメモリ確保時に VM_CHECK_MODE が1以上でビルドされた時には明示的に 0 クリアするようにしています。よくわかりませんが YJIT の canary チェックのためのデータが入っている可能性があって不具合が発生する可能性があったようです。

[affbc79a10] Mau Magnaguagno 2023-01-25 22:51:01 UTC

標準添付ライブラリ did_you_mean の編集距離計算で不要な Integer に対する floor メソッドの呼び出しがあったのを削っています。

[f1682407c5] Mau Magnaguagno 2024-03-10 17:48:59 UTC

affbc79a10f21eecb4291a9a5906e2b9ef6771f6 のさらに続きで標準添付ライブラリ did_you_mean の距離計算で if 文を条件演算子にして計算を 1行にまとめるリファクタリング

ruby-trunk-changes 2024-03-15

今日は主に irb の組み込みコマンド disable_irb の追加や VM 命令コンパイル時の最適化の不具合修正などがありました。

[83618f2cfa] Peter Zhu 2024-02-26 20:07:28 UTC

MSAN のメモリリーク検出対応のためにプロセス終了時に可能なかぎりメモリ解放を徹底することを指示するフラグの値をチェックする C API ruby_free_at_exit_p() というのを追加しています。うーむ、これを使ってまでメモリ解放してくれる拡張ライブラリがどのくらいあるかという問題はあると思いますが……。 [ruby-core:116963] [Feature #20306]

[3822ca9884] hogelog 2024-03-14 15:40:21 UTC

irb の組み込みコマンドの disable_irb というのを追加しています。どういうこと? と思いましたが Binding#irb をなにもしないように再定義することで binding.irbデバッグ用のブレイクポイントみたいにしていたところを次から素通りさせるようにするためのものみたいです。なるほど。 https://github.com/ruby/irb/pull/898

[d10afe0357] Go 2024-03-14 15:40:59 UTC

irb の補完処理の Class#name の呼び出しで例外が発生した時に捕捉する修正。 https://github.com/ruby/irb/pull/899

[161545d55d] Jean byroot Boussier 2024-03-14 16:09:03 UTC

標準添付ライブラリ reline で文字列リテラルに String#+@ をつけて frozen_string_literals が true になっても動くようにしています。実際に magic comment はつけてないですけどデフォルトを frozen_string_literals: true にしようというチケットがあるのでその準備ということみたいです。 [ruby-core:116382] [Feature #20205]

[8e1831406f] Peter Zhu 2024-02-14 15:52:43 UTC

互換性のために残してあった gc.c の RB_NEWOJ() マクロと rb_newobj() 関数の定義を削除しています。 [ruby-core:116760] [Feature #20265]

[ff51dc5654] Peter Zhu 2024-02-14 17:04:48 UTC

同じく RB_NEWOBJ_OF() マクロと rb_newobj_of() 関数の定義を削除しています。 [ruby-core:116760] [Feature #20265]

[09d8c99cdc] Jean Boussier 2024-03-13 11:50:11 UTC

bootstraptest/、 test/、 tool/ 配下のスクリプト群で frozen_string_literals: true がデフォルトになっても動くように dup や String#+@ を追加しています。

[b0be2961f7] Takashi Kokubun 2024-03-14 17:08:23 UTC

misc/yjit_perf.py という YJIT のプロファイリング用のスクリプトで perf の python 拡張に依存しないようにしている? みたいです。 https://github.com/ruby/ruby/pull/10246

[4559a161af] Peter Zhu 2024-03-13 17:58:03 UTC

GC の root となる rb_objspace_t::global_list というリスト構造体を rb_vm_t::gloabl_object_list に移動しています。 mark_object_ary は rb_vm_t に所属しているのでそれにあわせるためとのこと。

[c2170e5c2b] Peter Zhu 2024-03-14 17:52:20 UTC

4559a161af5cc57c129e3b2806ae7c0cd989b8b7 の再修正で rb_vm_t に追加したメンバー名を gloabl_object_list から global_object_list に修正しています。

[1d9f99144b] Benoit Daloze 2024-03-14 20:44:52 UTC

spec/mspec に upstream から最新版をマージしています。

[ed2f685253] Benoit Daloze 2024-03-14 20:44:53 UTC

spec/ruby に upstream から最新版をマージしています。

[c388784943] Jeremy Evans 2024-03-14 21:45:13 UTC

VM 命令へのコンパイル時の peephole optimization で引数処理のための splatarray による中間配列抑制の最適化でチェックすべき命令の位置を間違えていたのを修正しています。

[193ebc3c3a] toshimaru 2023-12-13 19:46:20 UTC

標準添付ライブラリ rdoc のテストに RDoc::TokenStream のテストをいくつか追加しています。

[3fcab3cddf] Adam Daniels 2022-01-13 15:06:18 UTC

標準添付ライブラリ rdoc で ri のインタラクティブモードを使う時に Readline.readline でヒストリが有効になるようにしています。

[a1ced60692] Nobuyoshi Nakada 2022-06-30 15:57:15 UTC

拡張ライブラリ stringio で StringIO.new に明示的に nil を渡した時に内部のバッファに nil が設定されてしまってエラーになる不具合を修正しています。

[f082605735] Nobuyoshi Nakada 2024-03-15 04:55:47 UTC

make outdate-bundled-gems のためのツール tool/outdate-bundled-gems.rb で --help オプションを受付けてヘルプメッセージ出力するようにしています。 optionparser を使ってるわけじゃなくて自分自身を File.foreach で読んでコメントを切り抜いて表示するという簡易な実装です。

[eceb36c7b9] Nobuyoshi Nakada 2024-03-15 05:11:16 UTC

f0826057350555f802d5e27a26b6b91510182ccb と同様な簡易な実装で tool/downloader.rb に --help オプションを追加しています。

[823727538e] Nobuyoshi Nakada 2024-03-15 05:12:08 UTC

tool/downloader.rb と tool/outdate-bundled-gems.rb のオプションに --dryrun の別名として --dry-run も追加しています。 --help によるヘルプメッセージ的には --dry-run のほうを正式なオプションとしているようです。

[99024a1602] Hiroshi SHIBATA 2024-03-15 06:04:22 UTC

gems/bundled_gems の minitest のテストに使う commit hash の指定を削除しています。

[59785680dd] Peter Zhu 2024-03-14 18:07:09 UTC

gc.c の未使用のマクロ GC_NOTIFY の定義を削除しています。

[03e7b266a7] Nobuyoshi Nakada 2024-03-15 09:31:59 UTC

特殊変数 $; への代入の deprecated warning のテストを追加しています。

[1d91a1ad2d] Nobuyoshi Nakada 2024-03-15 09:32:41 UTC

警告のカテゴリに関するテストで 1ad366134ded1667745dd9fa70919051869f8d6c で追加した Warning.categories メソッドを使ってカテゴリのリストを得るようにリファクタリングしています。

[40ecad0ad7] HASUMI Hitoshi 2024-03-15 13:14:57 UTC

rubyparser.h の警告除去のため RUBYPARSER_ATTRIBUTE_FORMAT() というマクロを追加してコンパイラの __attribute__() でフォーマット文字列の指定つきの関数宣言をするようにしています。

[0dbe3af417] Xavier Noria 2024-03-09 12:58:01 UTC

Module#name の rdoc 用コメントの call-seq に nil が返る可能性があることを明記しています。また説明文でマークアップを追加。

[a26e3bf360] Xavier Noria 2024-03-09 12:58:49 UTC

remove_instance_variable や Module#set_temporary_name などの rdoc 用コメントの英文修正。

[9284fe123e] Xavier Noria 2024-03-09 12:59:24 UTC

variable.c の rb_tmp_class_path() で if ... else の分岐の if のブロックで return しているので else 節を削って if 文の外に出すリファクタリング

[077ac25ed8] Xavier Noria 2024-03-09 13:00:02 UTC

Module#const_missing の rdoc 用コメントに必ずしもメソッド内で対象の定数を定義する必要はないことを追記。また英文の修正。

[ec4333c970] Pierre Merlin 2024-03-15 13:23:50 UTC

doc/syntax/exceptions.rdoc に ensure 節の評価値は(明示的に return しないかぎり)ブロックやメソッドの評価値(戻り値)にならない旨追記しています。

ruby-trunk-changes 2024-03-14

今日は主に例外にバックトレースを指定する時に Thread::Backtrace::Location の配列を受け付けるようにする変更や Dir.chdir のブロック内でさらに Dir.chdir を呼んだ時の警告に元の chdir の呼び元を表示するメッセージの強化などがありました。

[2fc551e34e] Peter Zhu 2024-03-12 12:52:19 UTC

NEWOBJ_OF() マクロの定義のリファクタリング。 NEWOBJ_OF_0() や NEWOBJ_OF_ec() といったマクロ定義をしてこれを用いて定義していたのをやめて展開しています。

[3f8ef7ff7c] Nobuyoshi Nakada 2024-03-13 10:13:37 UTC

拡張ライブラリ stringio に StringIO::MAX_LENGTH という定数を追加してバッファに使える最長のサイズを返すようにしています。

[6ad347a105] Peter Zhu 2024-03-12 17:50:50 UTC

久々に Object Shapes 関係の変更で slot のサイズごとの object space の heap のサイズ? の管理テーブルの構造を変更しているようです。shape id と Variable Width Allocation の heap に関係があるんだっけ。

[6b0434c0f7] Peter Zhu 2024-03-12 18:27:34 UTC

6ad347a1055902abfd5a7f5233dd8d18e1f1360b からの続きで Object Shapes の rb_shape_t を Variable Width Allocation の slot サイズごとに作らないようにしているようです。やはり Object Shapes で Variable Width Allocation の slot サイズについて関係があったみたいですね。

[3896f9940e] Peter Zhu 2024-03-12 18:34:17 UTC

6ad347a1055902abfd5a7f5233dd8d18e1f1360b からの続きで Object Shapes の shape_id を即値オブジェクトと too complex の時の id の採番を変更しているようです。

[88373fe2e8] Peter Zhu 2024-03-12 18:55:08 UTC

3896f9940e7f663dd4db8162c071d72e2539addf に追随して YJIT のための C binding で OBJ_TOO_COMPLEX_SHAPE_ID の変更を yjit/src/cruby_bindings.inc.rs に反映させています。

[c6089b5654] Peter Zhu 2024-03-12 21:34:38 UTC

Object Shapes の実装で rb_shape_alloc_new_child() という関数に T_OBJECT 型の rb_shape_t に対して rb_bug() で異常終了させるようにしています。

[dd5e625d7b] Jun Aruga 2024-03-12 13:39:05 UTC

拡張ライブラリ openssl のテストから OpenSSL のバージョンによって失敗する assertion を削除しています。

[171791426b] Jun Aruga 2024-02-21 09:37:53 UTC

拡張ライブラリ openssl のテストで FreeBSD の時に skip するようにしていた 2つのテストメソッドの skip を削除しています。次の eb4082284aace391a16a389a70eeaf1e7db5c542 の修正に対応するテストの変更みたいです。

[eb4082284a] Jun Aruga 2024-02-08 17:53:32 UTC

拡張ライブラリ openssl の OpenSSL::Provider のテストで legacy provider というのが提供されていない環境の対応を追加しています。

[c843afbf6f] Nobuyoshi Nakada 2024-03-13 03:00:38 UTC

コマンドラインオプション --help で出力するメッセージから行末の "." や ";"、":" などを削るようにしているようです。

[207b002392] Takashi Kokubun 2024-03-13 16:22:35 UTC

YJIT で C 実装のメソッドへの rest 引数の最後に Hash オブジェクトの ruby2_keywords フラグの考慮が漏れていたのを修正しています。 https://github.com/ruby/ruby/pull/10226

[76f9cfd0b9] Burdette Lamar 2024-03-13 18:50:18 UTC

Array#[]= メソッドの rdoc 用コメントに In brief というサンプルのセクションを追加しています。 https://github.com/ruby/ruby/pull/10199

[42bfbe9aa6] Peter Zhu 2024-03-12 17:56:28 UTC

shape.c の size_pool_edge_names という static 変数が用途がなくなっていたので削除しています。

[d49b41566b] Nobuyoshi Nakada 2024-03-14 03:37:35 UTC

拡張ライブラリ fcntl の rdoc 用コメントから不要な Document-const: タグの指定を削除しています。

[5fe1853e9b] Nobuyoshi Nakada 2024-03-14 03:38:16 UTC

拡張ライブラリ fcntl で O_ACCMODE というマクロが未定義の時に自身の定義をして Fcntl::O_ACCMODE 定数の定義の preprocessor 分岐をシンプルにしています。

[085daf4840] Nobuyoshi Nakada 2024-03-14 03:39:38 UTC

拡張ライブラリ fcntl の gemspec ファイルの spec.required_ruby_version を 2.5.0 以降に引き上げています。

[4ae67b1ab5] Nobuyoshi Nakada 2024-03-14 03:40:15 UTC

拡張ライブラリ fcntl の rdoc 用コメント追加と Init_fnctl() の前のコメントには Document-module: タグを復活させています。

[e394f5539e] Nobuyoshi Nakada 2024-03-14 04:01:13 UTC

拡張ライブラリ fcntl の gemspec ファイルに spec.extra_rdoc_files という設定を追加して LICENSE.txt と README.md を指定しています。

[b01d319ec8] Nobuyoshi Nakada 2024-03-14 04:19:12 UTC

e394f5539e036efabf46346fbb9699777cc1f2d3 の続きで拡張ライブラリ fcntl の gemspec ファイルの spec.extra_rdoc_files に .document と .rdoc_options を追加しています。

[35706c608c] Nobuyoshi Nakada 2023-05-06 03:38:17 UTC

拡張ライブラリ stringio のディレクトリに .document ファイルを追加して rdoc によるドキュメント化する対象のファイル拡張子を指定をしています。

[c913f3347c] Nobuyoshi Nakada 2024-03-13 16:01:27 UTC

拡張ライブラリ stringio に rdoc 用コメントの追加をしています。

[578f96afb5] Nobuyoshi Nakada 2024-03-13 16:00:23 UTC

拡張ライブラリ stringio の gemspec ファイルに spec.extra_rdoc_files の指定を追加しています。

[07b40044ad] Hiroshi SHIBATA 2024-03-14 05:21:50 UTC

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

[cc141b619e] git 2024-03-14 05:22:55 UTC

NEWS の bundled gems のバージョンリストの minitest のバージョンも更新しています。

[1cffaf1c25] Hiroshi SHIBATA 2024-03-14 06:12:03 UTC

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

[04fc9f87be] Hiroshi SHIBATA 2024-03-14 07:27:37 UTC

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

[d5e9942ad2] git 2024-03-14 07:28:19 UTC

NEWS の bundled gems のバージョンリストの bigdecimal のバージョンも更新しています。

[1acbdc76d6] Hiroshi SHIBATA 2024-03-14 07:54:26 UTC

rubygems の再定義する require での default gems の require での警告のための lib/bundled_gems.rb で ostruct を対象に追加しています。

[fdf1fa5f5f] Hiroshi SHIBATA 2024-03-14 08:41:22 UTC

1acbdc76d6ee73bc2a4d490f8809bd128abafc1f を revert しています。 ostruct の標準添付からの削除には rake からの依存を解消する必要があるとのこと。

[c1279a3da5] Nobuyoshi Nakada 2024-02-26 14:47:45 UTC

hash.c で RHASH_IDENTHASH_P() という ident hash かどうか判定するマクロを切り出すリファクタリング

[cd774f4ab9] Nobuyoshi Nakada 2024-02-26 16:22:01 UTC

hash.c で RHASH_STRING_KEY_P() という RHASH_IDENTHASH_P() に加えて指定された key が文字列オブジェクトかどうか判定するマクロを切り出すリファクタリング

[f36a71e269] Nobuyoshi Nakada 2024-02-26 16:38:11 UTC

Hash#compare_by_identity で ident 化した Hash への Hash#update の呼び出しでキーの文字列オブジェクトが複製されてしまって同一性が維持されなくなっていた不具合を修正しています。 [ruby-core:116965] [Bug #20307]

[1ad366134d] Nobuyoshi Nakada 2024-02-22 13:25:12 UTC

Warning.categories というメソッドを追加して現在 Warning[] でサポートしているカテゴリ名の Symbol のリストを返すようにしています。 [ruby-core:116909] [Feature #20293]

[8fe86feecd] Nobuyoshi Nakada 2024-02-07 10:43:57 UTC

Dir#chdir は Dir#chdir のブロック内でネストして呼び出されると警告を出すようにしていますがそのためのチェックする実装のリファクタリング[ruby-core:116621] [Feature #20244]

[4bb8f8582f] Nobuyoshi Nakada 2024-02-07 10:51:30 UTC

Dir.chdir のブロック内でネストした呼び出しがされた時の警告に最も外の Dir#chdir の呼び出しのスクリプト上の位置を含めるようにしています。 [ruby-core:116621] [Feature #20244]

[67fe047821] Nobuyoshi Nakada 2024-02-14 08:56:14 UTC

Dir#chdir のネスト検出のための static 変数 chdir_lock の thread メンバーを GC mark の root として rb_gc_register_address() で登録するように修正しています。 [ruby-core:116621] [Feature #20244]

[5326337d4f] Nobuyoshi Nakada 2024-02-15 01:56:29 UTC

Dir#chdir のブロック内でのネストした呼び出しの警告が冗長に出るようになってたのを修正しています。 [ruby-core:116621] [Feature #20244]

[315bde5a0f] Jean Boussier 2024-02-19 10:30:26 UTC

Exception#set_backtrace で例外のバックトレースを設定するのに文字列の配列だけでなく Exception#backtrace_locations で取得できる Thread::Backtrace::Location の配列を設定することもできるようにしています。なるほど。 [ruby-core:81102] [Feature #13557]

ruby-trunk-changes 2024-03-13

今日は主にスタックオーバーフロー検出で別プロセスから送信されたシグナルへの対処や Module#const_source_location が autoload で読み込み中のスクリプト内でも使えるようにする変更などがありました。

[1e7ee871cb] Peter Zhu 2024-03-07 21:47:32 UTC

スタックオーバーフローの検出のためのシグナルハンドラでシグナルが別のプロセスから送信された場合に誤検出してしまっていたので siginfo_t::si_pid をチェックして他のプロセスからのシグナルの場合は無視するようにしています。

[149a449964] Peter Zhu 2024-03-12 14:58:45 UTC

parse.y の未使用の関数 rb_parser_ary_new() を削除しています。

[5d71880df6] Nobuyoshi Nakada 2024-03-12 13:57:41 UTC

win32/Makefile.sub でコンパイラが VS2013 以降の場合、リンカ用のフラグに -manifest:embed,ID=2 を追加するようにしています。

[a9eb0400c2] Takashi Kokubun 2024-03-12 18:01:30 UTC

コマンドラインオプションのテストで YJIT が有効かどうか判定するメソッドで RubyVM::YJIT が定義されているかどうかも defined? でチェックするようにしています。 CRuby 本体のテストなので古い ruby は気にしなくていいけどと思ったけど RubyVM::YJIT が定義されるかどうか自体ビルド時のオプションによるので。

[c3915a0741] Takashi Kokubun 2024-03-12 17:58:45 UTC

Symbol#inspect の GC 関連のテスト test_inspect_under_gc_compact_stress を YJIT が有効な時は skip するようにしています。

[97b5f35ac4] Takashi Kokubun 2024-03-12 18:06:04 UTC

GitHub Actions で Launchable のための処理が失敗した時に workflow 自体はエラーにならないように continue-on-error: true を追加しています。

[19da3b4ecf] Burdette Lamar 2024-03-12 19:14:56 UTC

ruby --help の出力するメッセージを少し変更しています。 https://github.com/ruby/ruby/pull/10198

[22708be0d7] Takashi Kokubun 2024-03-12 20:44:47 UTC

19da3b4ecfb81d937a1bf80e023ebe757111bcb7 の --help のメッセージの変更の再修正。RJIT や YJIT に関するオプションの説明にピリオドを追加しています。

[dec2a8191c] Nobuyoshi Nakada 2024-03-13 02:28:50 UTC

ruby --help オプションのメッセージから --dump=prism_parsetree の説明は既になくなっているオプションなので削除しています。

[5732e83cc1] "dependabot[bot]" 2024-03-13 02:37:33 UTC

GitHub Actions の workflows で利用している github/codeql-action アクションのバージョンを更新しています。

[7de60d6b89] Naoto Ono 2024-03-13 02:53:34 UTC

GitHub Actions の Launchable のための専用の action で launchable verify コマンドのエラーステータスを無視するようにしています。

[8c81a6bd61] "dependabot[bot]" 2024-03-13 03:03:51 UTC

GitHub Actions の独自アクションの実装で使っている actions/checkout アクションのバージョンを更新しています。

[0b7487b44e] Charles Oliver Nutter 2024-03-13 04:46:49 UTC

拡張ライブラリ stringio のテストで大きすぎる offset を StringIO#pos= で設定するテストで JRuby の実装では書き込みした時ではなく pos を設定した時点で例外が発生すると少し挙動が異なるのでどちらの例外も捕捉するように assert_raise のブロックの範囲を広げています。 https://github.com/ruby/stringio/pull/85

[a5c5f83b24] Jean Boussier 2024-01-16 08:33:16 UTC

Module#const_source_location が autoload で読み込まれるスクリプト内で定義される Module の場合 autoload で読み込まれたスクリプト内からでも Module#const_source_location で autoload の設定している箇所が返されるようにしているようです。 [ruby-core:116223] [Bug #20188]

ruby-trunk-changes 2024-03-12

今日は主に parse.y の Array オブジェクトの実装依存をなくす変更などがありました。

[9f31577987] Peter Zhu 2024-03-01 21:45:50 UTC

gc.c の rb_copy_wb_protected_attribute() という C API の実装を rb_gc_writebarrier_unprotect() に委譲するようにリファクタリングしています。

[a295eeba9d] Nobuyoshi Nakada 2024-03-11 14:41:42 UTC

GitHub Actions の macOS 版の YJIT を有効にした workflow でテスト時に RUN_OPTS 環境変数を渡すようにしています。

[e12bc5c572] Peter Zhu 2024-03-01 19:35:49 UTC

gc.c の未使用になっていた rb_obj_rgengc_promoted_p() という関数を削除しています。

[2c349cf4b6] Peter Zhu 2024-03-11 19:13:22 UTC

NEWOBJ_OF_0() というマクロの定義で NEWOBJ_OF_ec() というまた別のマクロを再利用するようにリファクタリングしています。

[4c0c29e284] Naoto Ono 2024-03-11 05:30:19 UTC

GitHub Actions の YJIT を有効にしたテストの workflow に Launchable を利用するステップを追加しています。

[cb4bc4d03c] Naoto Ono 2024-03-11 06:30:48 UTC

GitHub Actions の Ubuntu で YJIT を有効にする workflow でテスト時に TESTS 環境変数を渡すようにしています。

[9a19cfd4cd] HASUMI Hitoshi 2024-02-16 08:45:22 UTC

Universal Parser の対応のため? parse.y で配列オブジェクトを VALUE 値で参照していたものを専用の rb_parser_ary_t という構造体による実装を利用するようにしています。 parse.y で CRuby 本体の実装に依存しないようにする変更の一環。

[76bd586330] Nobuyoshi Nakada 2024-03-12 09:46:04 UTC

String のテストでテストクラスのインスタンス変数で実行を on/off する assertion があったのをインスタンス変数を消してデフォルトの挙動だけにしています。なぜあったのかともかく実際にこの変数を変更することはなかったので。

[ad2aa6d727] Nobuyoshi Nakada 2024-03-12 11:03:05 UTC

コマンドラインオプションのテストで使う専用の assertion メソッドの定義のリファクタリング