ruby-trunk-changes 2024-02-24

今日は標準添付ライブラリ optparse の機能追加や拡張ライブラリ socket の定数追加などがありました。

[41c0fb6991] Nobuyoshi Nakada 2024-02-21 04:42:11 UTC

標準添付ライブラリ optparse の OptionParser#parse や #order のキーワード引数に exact を追加して OptionParser#require_exact= の設定を parse 時に切り替えできるようにしています。

[598b03648f] tomoya ishida 2024-02-23 12:32:47 UTC

標準添付ライブラリ irb でまだ magic comment の frozen_string_literal: false だったファイルを対応して true に変更しています。 https://github.com/ruby/irb/pull/883

[7da3f8dcd3] Nobuyoshi Nakada 2024-02-23 12:49:57 UTC

標準添付ライブラリ optparse の rdoc 用コメントの追記。

[3371936b6f] Naoto Ono 2024-01-31 07:45:11 UTC

GitHub Actions の macOS 版に Launchable というサービス向けの環境変数の設定とジョブを追加しています。

[ea2fb7460e] tomoya ishida 2024-02-23 13:11:16 UTC

irb の不要になった空の if 文を削除しています。 https://github.com/ruby/irb/pull/885

[6bd3e8fbb2] Peter Zhu 2024-02-22 22:02:36 UTC

拡張ライブラリ coverage() の関数 rb_coverage_peek_result() で Hash の要素についてループするのに st_foreach() のかわりに rb_hash_foreach() を呼ぶように変更しています。

[386a006630] Peter Zhu 2024-02-22 23:03:14 UTC

6bd3e8fbb2b0645f535858b3bd3bcb7242a6a438 と同様に拡張ライブラリ objspace でも st_foreach() のかわりに rb_hash_foreach() を利用するようにしています。

[df5b8ea4db] Peter Zhu 2024-02-22 21:02:10 UTC

不要に export していた関数の定義の RUBY_FUNC_EXPORTED マクロを削除しています。

[4bb4327228] Marek Küthe 2024-02-12 16:41:14 UTC

拡張ライブラリ socket の定数定義リストに Socket::IPV6_RECVERR を追加しています。 [ruby-core:116676] [Bug #20258]

[8b2c421a17] Marek Küthe 2024-02-12 18:09:18 UTC

同じく拡張ライブラリ socket の定数定義リストに Socket::IPV6_MTU_DISCOVER を追加しています。 [ruby-core:116676] [Bug #20258]

[6ad52e336d] Akira Matsuda 2023-01-06 19:23:10 UTC

標準添付ライブラリ ipaddr の IPv4 のアドレスの各数値を取り出すのに正規表現マッチのグループを取り出してたのを String#split を利用するように変更しています。こっちのほうが速かったとのこと。

[73dd3ce03e] Akira Matsuda 2023-01-06 19:10:12 UTC

標準添付ライブラリ ipaddr で正規表現マッチのかわりに String#start_with? を利用するようにしています。これもパフォーマンスのためでしょう。

[9a09e27a73] Kevin Newton 2024-02-23 17:39:46 UTC

common.mk の prism の新規ファイルの依存関係追加。

[01f9b2ae41] Peter Zhu 2024-02-22 21:30:59 UTC

parse.y で rb_fstring() に依存していたところを Universal Parser の構造体で rb_str_to_interned_str() という関数を受け取るようにしてこちらを使うようにしています。

[510404f2de] Peter Zhu 2024-02-22 21:14:11 UTC

string.c の rb_fstring() を export していたのをやめて rubyspec でのテストやテスト用拡張ライブラリでかわりに rb_str_to_interned_str() を利用するようにしています。

[50ace992c7] eileencodes 2024-02-12 18:16:25 UTC

def のあとの特異メソッド定義時の receiver を書くところに begin 節を持つ文を書くと SEGV していた不具合修正。 [ruby-core:116559] [Bug #20234]

[8a6740c70e] Takashi Kokubun 2024-02-23 19:08:09 UTC

YJIT から C の関数を呼ぶ時に不要なら control frame を push しなくてすむように最適化しているようです。そして String#setbyte メソッドに専用の実装を用意してこの最適化を利用しているみたいです。 https://github.com/ruby/ruby/pull/10080

[ce8531fed4] Peter Zhu 2024-02-23 16:05:51 UTC

string.c の rb_str_locktmp_ensure() という IO のバッファに使う文字列オブジェクトの変更を抑制するためのロック関数を export していたのをやめて拡張ライブラリ socket でこの関数を利用していたのやめて通常の rb_ensure() で代替するようにしています。

[e458494194] Burdette Lamar 2024-02-23 20:53:39 UTC

doc/command_line/environment.md というドキュメントファイルを追加して -e や -C、-r などの一部のオプションについての説明を書いてます。 https://github.com/ruby/ruby/pull/10059

[a255b43ff1] Peter Zhu 2024-02-23 22:17:12 UTC

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

[e439419baa] Takashi Kokubun 2024-02-24 00:21:33 UTC

YJIT の Rust 実装のコメントの typo 修正。

[e9e752c7ef] Takashi Kokubun 2024-02-24 04:18:41 UTC

YJIY の Rust 実装内 branch_stub_hit_body() の cfp->iseq の確認をする assert の位置をそれを利用する文の前に移動しています。