ruby-trunk-changes 2024-04-30

今日は reline の設定ファイルの条件分岐の機能追加などの変更や parser まわりのメモリリーク修正などがありました。

[018c5717e5] Mari Imaizumi 2024-04-29 12:05:31 UTC

標準添付ライブラリ reline の inputrc からの読み込みで $if の条件に mode=vi/emacs のようにモードのチェックが書けるようにしています。 https://github.com/ruby/reline/pull/687

[ae701031f5] tomoya ishida 2024-04-29 12:08:55 UTC

標準添付ライブラリ reline の全角文字の表示についての修正。 https://github.com/ruby/reline/pull/654

[4c41203bbb] yui-knk 2024-04-29 08:23:28 UTC

node.c から不要な #include "internal/parse.h" を削除しています。

[814d4b5e2c] tomoya ishida 2024-04-29 13:22:59 UTC

標準添付ライブラリ reline の IO#pread での読み込み時の IOError 例外の捕捉を追加しています。 Ctrl-D などで EOF を送出した時にその前の内容が読まれない不具合を修正しているようです。 https://github.com/ruby/reline/pull/671

[dbb1ba88eb] Mari Imaizumi 2024-04-29 13:35:56 UTC

標準添付ライブラリ reline のバージョンを更新しています。 https://github.com/ruby/reline/pull/691

[90db9c87a3] git 2024-04-29 13:36:59 UTC

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

[95d036aaf0] Peter Zhu 2024-04-29 17:06:39 UTC

ruby_parser.c の parser_free() で引数の構造体のメモリ解放が抜けていたのを修正しています。

[e3bfd25bd2] Peter Zhu 2024-04-29 17:07:14 UTC

ruby_parser.c の rb_ast_t 構造体のメモリ管理の不具合を修正しています。 ast_alloc() で引数に rb_ast_t のポインタを受け取って TypedData_Make_Struct() ではなく TypedData_Wrap_Struct() でオブジェクトに wrap するようにしていますが、これだとその間に例外などの大域脱出の発生しうる処理があるとメモリリークするので TypedData_Make_Struct() してからポインタ取り出すようにしてたんじゃないかなぁ。

[845f2db136] Randy Stauner 2024-04-29 18:32:07 UTC

YJIT に TrueClass#=== メソッドをインライン化する最適化を追加しています。 https://github.com/ruby/ruby/pull/10640

[adae813c5f] Randy Stauner 2024-04-29 19:25:22 UTC

845f2db1360032a0506c5d5a8570f5c73a2588a3 と同様に FalseClass#=== メソッドも YJIT でインライン化する最適化。 https://github.com/ruby/ruby/pull/10679

[de0ad3be8e] Alan Wu 2024-04-29 20:08:06 UTC

YJIT の Rust 実装で VM のキャッシュの invalidate のための処理で VM のロック取得するように修正しています。

[470eceff8f] Alan Wu 2024-04-29 19:55:10 UTC

YJIT でデバッグメッセージ? のために String オブジェクトを利用していたところを依存をなくしています。

[0aefd2f784] Alan Wu 2024-04-29 20:54:39 UTC

GitHub Actions の YJIT を有効にしたビルドの workflows で rubyspec の実行時に -T オプションを渡すようにしています。その他のオプションを ruby プロセスに渡すために必要だったとのこと。 https://github.com/ruby/ruby/pull/10599

[528c4501f4] yui-knk 2024-04-26 09:16:36 UTC

parse.y の構造体 struct parser_params の ruby_sourcefile_string メンバーの型を VALUE による文字列オブジェクトから rb_parser_string_t を利用するようにリファクタリングしています。

[431711a8bb] "dependabot[bot]" 2024-04-29 02:11:03 UTC

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

[8fb430c1da] tomoya ishida 2024-04-30 10:29:34 UTC

標準添付ライブラリ irb の sub irb 実行後に IRB::Config[:MAIN_CONTEXT] を復旧させるように修正しています。 https://github.com/ruby/irb/pull/937

ruby-trunk-changes 2024-04-29

今日は Lrama のバージョンアップやその拡張機能を利用した parse.y の書き換えなどがありました。

[f9cf923af2] ydah 2024-04-27 12:16:38 UTC

parse.y に Lrama の拡張機能? のパラメータつきルールを利用するようにしています。本格的に Lrama 依存のモダンな parse.y になってきますね。

[a6308ca958] Nobuyoshi Nakada 2024-04-28 00:33:00 UTC

f9cf923af2c54345b1d6756e3268b509655754a3 の parse.y のパラメータ化ルール利用に対応するため? 拡張ライブラリ ripper の ext/ripper/tools/ のスクリプトで parse.y の変換用の処理をリファクタリングしています。

[17a0e2ac04] 卜部昌平 2024-04-29 01:03:50 UTC

bb5a53820703f5e1af886a0c5ca7178aa976be29 で stdckdint.h の利用のため追加したヘッダファイル include/ruby/internal/stdckdint.h に C++ でのビルド用に RBIMPL_HAVE_STDCKDINT_H を undef する preprocessor 分岐を追加しています。 C++ では stdckhint.h の機能が使えないとのこと。

[b7bd55cdc7] 卜部昌平 2024-04-29 01:09:15 UTC

bb5a53820703f5e1af886a0c5ca7178aa976be29 で追加した include/ruby/internal/stdckdint.h で警告抑制のために RBIMPL_CAST() によるキャストを追加しています。

[5ed2064419] yui-knk 2024-04-29 05:07:17 UTC

同梱されている Lrama のバージョンを 0.6.8 に更新しています。

[2a683f3f7d] Andy Waite 2024-04-27 14:45:06 UTC

bundler の bundle check サブコマンドの man ページに記述を追記しています。

[6203307f16] Andy Waite 2024-04-29 00:05:54 UTC

2a683f3f7db10ae88bca125a9030a56a42e6d6b8 の bundler の bundle check の man ページの追記部分の英文を修正しています。

[68a1867f53] David Rodríguez 2024-04-23 19:56:51 UTC

bundler の依存関係の解決で既存の Gemfile.lock がある時の処理の修正のようです。

[d6cb62a88f] David Rodríguez 2024-04-23 18:15:30 UTC

bundler で拡張する rubygems のエラー用の例外を上書きしてエラーメッセージを改善しているようです。

[53571de8e9] David Rodríguez 2024-04-26 08:44:13 UTC

rubygemsスクリプトの循環参照した require の警告避けのため require を一部削除しています。

[83933f921b] David Rodriguez 2024-04-04 18:01:53 UTC

bundler の不要なインスタンス変数のリセットを削除しています。

[491195af02] David Rodríguez 2024-04-25 17:11:13 UTC

bundler の依存関係更新の処理の修正。

[435f449b4e] David Rodriguez 2024-03-27 16:20:52 UTC

bundler の依存関係解決時のバージョン決定の処理の修正。

ruby-trunk-changes 2024-04-28

今日は Lrama の更新などがありました。

[bb5a538207] 卜部昌平 2024-04-25 07:25:15 UTC

stdckdint.h という標準ライブラリヘッダの存在チェックをして使えたら ckd_add()、ckd_sub()、ckd_mul() などの関数 overflow を考慮した演算関数を利用するようにしています。

[c844968b72] 卜部昌平 2024-04-25 07:59:22 UTC

tool/update-deps を実行して common.mk と拡張ライブラリの depend ファイルの依存関係を再生成しています。

[602193ded7] Nobuyoshi Nakada 2024-04-27 15:02:33 UTC

bootstraptest/runner.rb に --timeout オプションを受け付けるようにしてデフォルトでファイルごとに 180秒のタイムアウトをかけるようにしています。

[a0b4f0bcc9] Nobuyoshi Nakada 2024-04-27 15:03:09 UTC

602193ded761fd0489b82cf705416bdc3f9cf501 で bootstraptest に導入したタイムアウトの指定を RJIT が有効な時に 3倍にするようにしています。

[937cb1176d] Nobuyoshi Nakada 2024-04-27 15:06:24 UTC

bootstraptest/runner.rb のロングオプション --quiet や --verbose に省略形を許すようにするための正規表現の "?" が抜けてたので省略できなくなってたのを修正しています。

[8ad0b2cd31] ydah 2024-04-19 15:30:38 UTC

parse.y の words_sep というルールを削除して利用していたところに ' '+ と複数の空白を許容する Lrama の拡張? の記法を利用するようにしています。

[ddd8da4b6b] HASUMI Hitoshi 2024-04-27 07:28:52 UTC

構造体 struct node_buffer_struct の Universal Parser 用の config メンバーをその親の構造体 rb_ast_t のメンバーに引き上げるリファクタリング。 rb_ast_t が T_IMEMO 型オブジェクトでなくなったので構造体サイズの制約がなくなったため。

[5c3d5c7cdd] yui-knk 2024-04-28 03:30:04 UTC

同梱している Lrama のバージョンを 0.6.7 に更新しています。

[29aaf4abe6] yui-knk 2024-04-28 03:45:30 UTC

Universal Parser 用の構造体 rb_parser_config_t から関数ポインタのメンバー ast_new を削除して、config->calloc を利用するようにしています。

ruby-trunk-changes 2024-04-27

今日は prism の更新、Lrama のバージョン更新、YJIT の不具合修正などがありました。

[25a8b76c76] Stan Lo 2024-04-26 12:12:27 UTC

irb で組み込みコマンドを登録するために IRB::Command.register メソッドに渡す名前を文字列でも受付けて Symbol に変換して登録するようにしています。 https://github.com/ruby/irb/pull/932

[dd578cf2f1] Artur 2024-04-26 12:33:41 UTC

Numeric#nonzero? の rdoc 用コメントに #zero? メソッドへの参照を追記しています。

[67b79d484f] Sam Aaron 2024-04-26 15:10:42 UTC

拡張ライブラリ win32 で force_encoding("ASCII-8BIT") を使ってたところを String#b メソッドを利用するようにしています。 #b は dup も含むので文字列リテラルの fstring 化の対応という意味があるみたいです。

[353cba4955] Peter Zhu 2024-04-25 14:45:26 UTC

GC の実装をすりかえる時の dlopen() のエラーを格納するためのバッファのサイズを拡張しています。また異常終了させる時の rb_bug() にそのメッセージを埋め込んでいたのをさきに fprintf(3) で標準エラー出力でメッセージを出力してから rb_bug() で異常終了するようにしています。 rb_bug() のメッセージのバッファに納まらないことがあるためとのこと。rb_bug() ってそんなにメッセージのバッファ小さいんだ。

[af800bef21] Kevin Newton 2024-04-18 17:37:49 UTC

compile.c の coverage のためのファイル名や行番号の情報を NODE 構造体経由で取得するのでなく外から引数で渡すようにリファクタリングしています。NODE 依存をなくすためみたいです。

[49764869af] Kevin Newton 2024-04-25 12:48:20 UTC

prism 向けの変更のようですが iseq.c の coverage のための位置情報を iseq_setup_coverage() や iseq_new_setup_coverage() 内で rb_ast_t から取得してたのを引数で渡すようにリファクタリングしています。

[94d6295b2d] Kevin Newton 2024-04-25 12:50:23 UTC

prism 向けの ISeq の実装の変更。

[6b120135af] Job Snijders 2024-03-25 12:20:13 UTC

拡張ライブラリ openssl の OpenSSL::X509::Request#version のテストでサポートされない環境がある version の指定をするテストケースを削除しています。OpenSSL 3.3 でチェックが厳しくなって? エラーになるみたいです。

[148518baa0] Stan Lo 2024-04-26 17:52:08 UTC

irb の組み込みコマンドの cws の実行結果を返してたのをやめてコマンドの実装内で puts で出力だけして戻り値は返さないようにしています。組み込みコマンドはメソッドチェインできないし評価値の履歴に含めないほうがいいからということみたいです。

[a1db69f0c9] Takashi Kokubun 2024-04-26 18:11:04 UTC

bootstraptest の YJIT 有効時にたまに失敗する Ractor のテストをスキップするようにしています。

[ab228bd084] Takashi Kokubun 2024-04-26 20:02:22 UTC

YJIT で 7ab1a608e7413cdb0f93243eb3e6e20a32cec44e のローカル変数の最適化の影響でテストでエラーが発生しているみたいで、その修正としてアクセスのコード生成時に可能ならコードブロックを分割するようにしているようです。 https://github.com/ruby/ruby/pull/10648

[41e17f5624] Peter Zhu 2024-04-26 18:10:09 UTC

GC の実装を上書きする機構で使う関数 ruby_external_gc_init() の定義で引数に明示的に void を書くようにしています。警告抑制のため。

[392b811baf] git 2024-04-26 21:01:55 UTC

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

[f64c97418b] Peter Zhu 2024-04-26 19:27:56 UTC

環境変数 RUBY_GC_LIBRARY_PATH で共有ライブラリを指定して GC の実装をすりかえる機能を miniruby でも有効にしているようです。

[c32366ff79] Takashi Kokubun 2024-04-27 00:18:48 UTC

GitHub Actions の Ubuntu 環境での YJIT を有効にしたビルドでテスト時の -j オプションを削除しています。既に GNUMAKEFLSAGS で設定されているためここで引数なしで指定するとむしろ並列実行を抑制してしまうみたいです。

[c746332c79] Takashi Kokubun 2024-04-27 00:35:52 UTC

444553b528a54a97e539de212ffc4c6466a6db20GitHub Actions の YJIT 有効にしたテストで引数に -v を渡すようにしてたのを revert して -q に戻しています。

[73eeb8643b] Alan Wu 2024-04-27 00:03:48 UTC

YJIT の Rust 実装で ISeq を GC から保護するための処理の不具合修正みたいです。

[83c03cc73a] Alan Wu 2024-04-27 00:09:19 UTC

yjit.c の rb_assert_iseq_handle() 内で rb_objspace_markable_object_p() が真を返すことをチェックする RUBY_ASSERT_ALWAYS() を削除しています。compaction が行なわれるとひっかかる可能性があった?

[2ba7c1b142] Alan Wu 2024-04-27 00:12:45 UTC

YJIT の Rust 実装の rb_yjit_root_mark() という関数の引数の型の指定を修正しています。

[bf1f16ef47] yui-knk 2024-04-26 16:10:06 UTC

同梱している Lrama のバージョンを 0.6.6 に更新しています。

[55a402bb75] HASUMI Hitoshi 2024-04-26 12:43:35 UTC

構造体 rb_ast_body_t に line_count というメンバーを追加して VALUE (Fixnum)依存を消すようにしているようです。

[8089faee45] Takashi Kokubun 2024-04-27 03:43:22 UTC

ab228bd0844758a1c444e39030c153874adf9120 の YJIT のローカル変数の最適化の再修正を revert しています。うまく効かなかった模様。

[ef3e3e9a2f] jinroq 2024-04-27 03:47:45 UTC

GitHub Actions のいろんなコンパイラオプションを試す workflow の VM の最適化の一種を指定する OPT_THREADED_CODE に 3 を指定していたのを消して 0 を追加しています。

[9ea77cb351] HASUMI Hitoshi 2024-04-27 07:00:06 UTC

55a402bb759597487905a94d5b1bbff4a672499c の rb_ast_body_t のメンバー追加時に rb_binding_add_dynavars() で追加していた不要な代入処理を削除しています。

ruby-trunk-changes 2024-04-26

今日は主に YJIT の最適化、正規表現の timeout 時の不具合修正、parse.y の VALUE 依存を減らす変更などがありました。

[f248e1008a] Peter Zhu 2024-04-24 16:18:48 UTC

GC の実装の共有ライブラリですり替える機構のための構造体 rb_vm_t のメンバー gc_functions_map をポインタではなく構造体 rb_gc_function_map_t を直接構造体内に埋め込むようにレイアウト変更しています。

[7ab1a608e7] Takashi Kokubun 2024-04-25 14:04:53 UTC

一度 revert された 4cc58ea0b865f2fd20f1e881ddbd4c4fab0b072c での YJIT のローカル変数の最適化の再挑戦。 rb_yjit_iseq_free() の引数の変更の差分が増えていますね。 https://github.com/ruby/ruby/pull/10607

[d292a9b98c] Daniel Colson 2024-04-25 02:20:48 UTC

正規表現のマッチ処理で timeout の指定を超えたため Regexp::TimeoutError を発生させる時に不正な free(3) の呼び出しをして異常終了する可能性があった不具合を修正しています。 https://github.com/ruby/ruby/pull/10630 [ruby-core:117697] [Bug #20453]

[3a5d9553a7] Daniel Colson 2024-04-25 14:45:16 UTC

d292a9b98ce03c76dbe13138d20b9fbf613cc02d で追加したテストで Regexp.timeout= でグローバルにタイムアウト設定していたので assert_separately を使って子プロセスを起動していたのをやめて Regexp.new で個別に timeout 指定するようにしています。 [ruby-core:117697] [Bug #20453]

[4ff249363d] tomoya ishida 2024-04-25 16:12:46 UTC

標準添付ライブラリ reline の設定ファイル inputrc での $if directive? がネストした時の不具合修正のようです。そんな機能あったんだ。 https://github.com/ruby/reline/pull/689

[444553b528] Takashi Kokubun 2024-04-25 17:38:54 UTC

GitHub Actions の YJIT を有効にするビルドでテスト時のオプションの -q を -v にしています。テストが止まってしまっているみたいでそのデバッグのためのようです。

[6f4f360fc4] Josh Nichols 2023-03-28 19:45:41 UTC

bundler で require "bundler/setup" することで bundler を有効にした時に auto_install という設定による挙動が有効になるようにしているようです

[49753cd082] Peter Zhu 2024-04-24 19:32:32 UTC

Object Shapes の Init_default_shapes() での初期化処理でメモリ確保に ruby_mimcalloc() を利用していたのを既に GC が有効になっているタイミングなので xcalloc() を利用するようにしています。

[9b5bc8e6ea] Alan Wu 2024-04-25 21:01:54 UTC

YJIT で組み込みクラス String/Array/Hash の特異クラスのメソッドが呼ばれる時に --yjit-verify-ctx オプションのチェックにひっかかっていたのを緩和しているようです。

[2244c58b00] HASUMI Hitoshi 2024-04-16 09:42:42 UTC

構造体 rb_ast_t から VALUE 型のメンバー flags を削除しています。 rb_ast_t はもう T_IMEMO 型オブジェクトの一種ではなくなったので VALUE への依存をなくしているようです。逆に ast.c の構造体 struct ASTNodeData では rb_ast_t を直接参照せずに VALUE 型のメンバー vast でオブジェクトとして wrap された値を持つようにしています。

[0907127f5a] "dependabot[bot]" 2024-04-26 02:05:59 UTC

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

[762491db82] Nobuyoshi Nakada 2024-04-26 09:08:32 UTC

doc/extension.rdoc および doc/extension.ja.rdoc に TypedData_Wrap_Struct() マクロが例外を発生しうるので解放するべきリソースがあった場合 rb_ensure() を使う必要があることを追記しています。

[500586b401] Nobuyoshi Nakada 2024-04-26 10:22:16 UTC

tool/rdoc-srcdir ファイルの mode に実行ビットが立ってたのを落としています。

[140c59c633] yui-knk 2024-04-26 09:38:12 UTC

parse.y から rb_parser_aset_script_lines_for() の呼び出しを削って ruby_parser.c に移動しています。

ruby-trunk-changes 2024-04-25

今日は主に YJIT の Class#superclass の最適化や reline と irb の最適化などがありました。

[480287d140] Peter Zhu 2024-04-23 19:34:03 UTC

共有ライブラリで GC の実装を上書きする機構のリファクタリング。なんか load_external_gc_func() というマクロを定義して文字列リテラルや関数名に特定の suffix を追加して展開しているようにしていますが、この時点では呼んだあとすぐに #undef しているから展開して書いても良さそうだけど後で分岐を追加する予定なのかな。

[afc7799c32] Kevin Menard 2024-04-24 14:31:35 UTC

YJIT に Class#superclass メソッドの呼び出しを rb_class_superclass() 関数の直接の呼び出しに展開する最適化を追加しています。 https://github.com/ruby/ruby/pull/10613

[e5ca3d072f] Stan Lo 2024-04-24 15:59:39 UTC

irbIRB::HelperMethod::Base というクラスに Singleton を include してインスタンスを1つだけ使いまわすようにしています。

[9bba999be7] Stan Lo 2024-04-24 16:01:14 UTC

e5ca3d072fd1076133dc7c3a9a2e399bbfcee443IRB::HelperMethod::Base の singleton 化を revert しています。

[853c0b1a77] Aaron Patterson 2024-04-20 00:02:21 UTC

vm_eval.c のメソッド探索の gccct_method_search_slowpath() という関数から cc_new() を呼んで struct rb_callcache を生成していたのを vm_search_method_slowpath0() の処理を再利用するようにリファクタリングしています。

[057b69cfdf] Peter Zhu 2024-04-24 15:01:09 UTC

b9109b270d129561f06bc2dcd6feaf5c43e82360 で dln_open() で dlopen(3) のエラー内容を返すための引数を追加した時に関数内の自動変数(スタック)上へのポインタを返すので安全でないメモリ領域を読むようになってたので呼び元からバッファを渡してそこにエラーメッセージを格納させるように修正しています。

[5c32a1503f] Peter Zhu 2024-04-24 15:04:06 UTC

dmydln.c の dln_open() 関数でもエラー時に例外を返すのではなくエラーメッセージを引数に渡されたバッファに書き込んで return するように変更しています。

[cf24a0483e] tomoya ishida 2024-04-24 17:33:36 UTC

標準添付ライブラリ reline の LineEditor の行末へ移動する処理で1文字ずつ文字の幅をカウントしていたのを単に String#bytesize でカーソル位置を取得するように最適化しています。

[58847b7df8] Kevin Newton 2024-04-24 16:26:55 UTC

prism の新しい自動生成するソースファイル lib/prism/inspect_visitor.rb を生成するルールを common.mk に追加しています。

[2cc59c1b31] Aaron Patterson 2024-04-24 17:02:06 UTC

853c0b1a776ba67cd20741f631788d8556c854eb の続きで gccct_method_search_slowpath() の引数に struct rb_callinfo を直接渡してスタックから取得する処理を呼び元に釣り出しています。

[73a7e51535] Aaron Patterson 2024-04-24 17:20:07 UTC

853c0b1a776ba67cd20741f631788d8556c854eb および 2cc59c1b3167da6a554c37cf66b3b95633b6ec9f の続きで gccct_method_search() に括り出した struct rb_callinfo を取得する処理を scope_to_ci() という関数に切り出して他のメソッド探索の関数と共有するようにしています。

[4349c7909f] Stan Lo 2024-04-24 18:32:51 UTC

一度 revert された irbIRB::HelperMethod::Base の singleton 化の再適用。 https://github.com/ruby/irb/pull/931

[214811974b] Peter Zhu 2024-04-23 20:32:45 UTC

ruby_mimalloc() の calloc 版である ruby_mimcalloc() という関数を導入して ruby_mimalloc()+MEMZERO() を使ってたところで利用するようリファクタリングしています。

[d3a7e55542] Kevin Newton 2024-04-24 19:45:23 UTC

common.mk の依存関係の再生成。

[0434dfb76b] Aaron Patterson 2024-04-24 20:39:39 UTC

struct rb_callinfo がスタック上に確保されたものか ObjectSpace の slot に確保され GC で管理されるものかどうかチェックする vm_ci_markable() はもう不要になった(常に markable になった)ので削除しています。

[e8bc8f6024] "dependabot[bot]" 2024-04-25 02:29:00 UTC

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

[d1813609d0] "dependabot[bot]" 2024-04-25 02:28:55 UTC

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

[01f6ea1583] "dependabot[bot]" 2024-04-25 02:43:48 UTC

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

[67dd9af17e] Eugene Kenny 2024-04-24 11:10:48 UTC

rubygems の再定義する require で bundled gems や default gems についての警告を出力するための lib/bundled_gems.rb で Bootsnap を利用している時に LOADED_FEATURES に含まれるディレクトリパスが gem 判定の誤検出に繋がってたみたいでそれを削る処理を追加しています。 [ruby-core:117674] [Bug #20450]

[03f8477566] Xi Ruoyao 2024-04-24 05:42:09 UTC

標準添付ライブラリ net/http のテストで拡張ライブラリ openssl が OpenSSL 3.3 系とリンクしている時も 3.2 系と同様にテストの失敗があるみたいなので skip する条件を追加しています。

[64bd8e41df] 卜部昌平 2024-04-25 08:08:39 UTC

parse.y の string_literal_head() の戻り値がポインタ型なのに return false しているところがあったので NULL に修正しています。

[5577f138b4] David Rodríguez 2024-04-22 17:52:30 UTC

bundler の bundle help でサブコマンドの別名でも検索できるようにしているようです。

[2871376510] David Rodriguez 2024-04-12 16:20:57 UTC

bundler で環境変数をすりかえるのに ENV.replace を呼ぶところで Windows かどうかで分岐していたのをやめています。 [Bug #16798] の不具合の対策のためだったみたいですが既に全てのサポートされているバージョンで修正済みなので。

[5d2fb5d76b] David Rodriguez 2024-04-12 16:42:06 UTC

287137651078d540a14dfbe78dd99b277f3ac4d2 と同様に bundler で環境変数を Hash に変換する時に Windows での workaround をしていた分岐を削除しています。

ruby-trunk-changes 2024-04-24

今日は主に標準添付ライブラリ reline のバージョン更新やビルドプロセスの変更がありました。

[53a67efc9a] tomoya ishida 2024-04-23 14:45:18 UTC

標準添付ライブラリ reline で入力に応じて端末に文字を表示する時にプロンプト部分と入力行の表示の処理を分けることでプロンプトの変更がない時にはプロンプト部分の再描画をしないようにパフォーマンスの改善をしています。 https://github.com/ruby/reline/pull/652

[981a8e89a3] Mari Imaizumi 2024-04-23 15:27:55 UTC

標準添付ライブラリ reline のバージョンを 0.5.3 に更新しています。 https://github.com/ruby/reline/pull/686

[729e08cb18] git 2024-04-23 15:29:13 UTC

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

[87396dbe5d] Takashi Kokubun 2024-04-23 16:51:50 UTC

YJIT で skip するようにしていた GC.compact のテストを RJIT が有効な時も skip するようにしています。

[b9109b270d] Peter Zhu 2024-04-23 18:30:31 UTC

065710c0f5c1e81f0fa7ab6ddd3ccbc41e9cc2ccGC の実装を共有ライブラリで上書きできるようにした機構で dlopen(3) に失敗した時のエラーメッセージを返す引数を追加しています。

[e11237904c] Stan Lo 2024-04-23 21:00:56 UTC

標準添付ライブラリ irb の upstream の変更が同期されなくなってたみたいなので一括マージしています。

[813e12557a] yui-knk 2024-04-23 11:09:42 UTC

Universal Parser 用の構造体 rb_parser_config_t から不要になった関数ポインタのメンバー encoding_is_ascii8bit を削除しています。

[66edc33f4e] Nobuyoshi Nakada 2024-04-24 03:06:20 UTC

make install-all の依存関係の docs に実行順序の制御を追加しています。ドキュメント生成が完了してからコピーするようにしているとのこと。普通に依存関係書くだけだとだめなのかな。

[0b3bc7232a] "dependabot[bot]" 2024-04-24 02:46:49 UTC

GitHub Actions で利用されている ruby/setup-ruby アクションのバージョンを更新しています。

[7e8d8f250d] Hiroshi SHIBATA 2024-04-24 08:17:42 UTC

doc/contributing/building_ruby.md にビルドの高速化のために docs の生成を抑制する configure のオプションが Tips として書かれていたのが make docs の依存関係の変更で不要になったので削除しています。

[91ff2fd9b5] Nobuyoshi Nakada 2024-04-24 05:03:37 UTC

C API のテスト用の拡張ライブラリで Windows 環境では関数の export に RUBY_EXTERN ではなく RUBY_FUNC_EXPORTED の修飾子を利用しないと dllimport() の警告が出ていたので変更しています。