今日は主に 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]
[4e03d56e21] Peter Zhu 2024-03-14 12:39:04 UTC
NEWS に 8e1831406ffd385213f67baba0d1fe6d44e9e0ea と ff51dc56540c3ba574a4b3f606bafd57788f620f の RB_NEWOBJ() と 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 の指定を削除しています。
[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 しないかぎり)ブロックやメソッドの評価値(戻り値)にならない旨追記しています。