以下の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20240725より取得しました。


ruby-trunk-changes 2024-07-25

今日は主に 拡張ライブラリ ripper の不具合修正や openssl の引数チェックの強化などがありました。

[f69ba5716f] Peter Zhu 2024-07-23 18:43:16 UTC

起動時に環境変数 RUBY_FREE_AT_EXIT をチェックして終了時のメモリ解放を徹底するかどうかのフラグを立てるタイミングを早めています。コマンドラインオプションの -v の処理などで通常の処理をする前にプロセス終了するような時にフラグが効いていなかったため。

[97449338d6] Nobuyoshi Nakada 2024-07-24 12:28:18 UTC

拡張ライブラリ ripper が SyntaxError になる構文で一部のものが Ripper.tokenize で nil に対する NoMethodError でエラーになってしまうことがあったので nil 対応を追加しています。 [ruby-core:118676] [Bug #20649]

[0a9f771e19] Peter Zhu 2024-07-23 19:56:00 UTC

オブジェクト確保の実装で利用中の slot 数のカウントを複数 Ractor 利用時にしないようにしています。

[12e6cf77ef] Alan Wu 2024-07-23 22:14:45 UTC

rubyspec および mspec で利用中のアーキテクチャでの整数のバイト幅についての guard の wordsize というのを使っていたのを c_long_size ともう少し具体的な名前にして RbConfig::SIZEOF を使ってより正確に判定するようにしています。

[fbb981b9f8] Alan Wu 2024-07-23 22:21:38 UTC

12e6cf77efae6804063dbebe84e4080ca78958e7 と同様に rubyspec で long の最大値/最小値を計算していたのを Array#pack の "l!" を使ってバイト数を検出するようにしています。

[28382505b2] Alan Wu 2024-07-23 22:27:07 UTC

12e6cf77efae6804063dbebe84e4080ca78958e7 からの続きで mspec で整数の Fixnum で表現される範囲を計算するのに RbConfig::LIMITS を利用するようにしています。

[d08e55141e] Alan Wu 2024-07-23 22:28:51 UTC

rubyspec の Integer#round のテストで wordsize による guard をしていたのを fbb981b9f819d24c4e11132c02ec02401eabcc5e で修正した min_long というヘルパーメソッドを利用して適切な引数でテストするようにしています。

[a1cf39bd36] Kazuki Yamaguchi 2024-06-17 07:26:58 UTC

拡張ライブラリ openssl の OpenSSL::X509::Attribute#value= で rb_attr_get() などでインスタンス変数から ruby のオブジェクトとして値を取り出して処理していたのを C の構造体を取り出して直接操作する実装に変更しています。可読性のため? みたいですが同時に不正な値を設定しようとした時のチェックの強化も行なわれているようです。

[1388945f0d] Kazuki Yamaguchi 2024-07-03 09:32:28 UTC

拡張ライブラリ openssl の ossl_asn1_get_asn1type() という関数を static 関数に変更しています。

[0d3ce31234] Samuel Giddins 2024-07-24 16:50:57 UTC

拡張ライブラリ openssl で OpenSSL::X509::Store#time= メソッドでもインスタンス変数をセットしていたのを直接 C の構造体を利用して X509_VERIFY_PARAM_set_time() という API を呼ぶように変更しています。 https://github.com/ruby/openssl/pull/770

[30eba40f9c] David Rodríguez 2024-07-24 09:26:18 UTC

rubygems の Gem::Requirement#to_yaml_properties と Gem::Version#to_yaml_properties というメソッドの定義を削除しています。sych の古い実装でコールバックとして使われるメソッドだったみたいでもう不要なようです。

[357ae357e8] yui-knk 2024-07-25 01:37:24 UTC

コマンドラインオプション --dump=parsetree で AST をダンプする時に NODE_BLOCK_PASS と NODE_ARGS の出力に forwarding フラグの情報を追加しています。

[5f6a1c2e22] Yusuke Endoh 2024-07-25 03:58:35 UTC

File#stat のテストでファイル操作した時刻を推定するための処理を処理の前後で Process.clock_gettime を呼んで中間時刻を算出する measure_time というヘルパーメソッドを導入しています。

[22ad6b249b] Yusuke Endoh 2024-07-25 04:58:32 UTC

GitHub Actions の macOS 版の workflow でテストのタイムアウト関連の時間を調節する環境変数 RUBY_TEST_TIMEOUT_SCALE の値を大きくしています。 macOS 版の環境がとても遅いみたいです。




以上の内容はhttps://ruby-trunk-changes.hatenablog.com/entry/ruby_trunk_changes_20240725より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14