ruby-trunk-changes 2023-05-30

今日は主に構造体 rb_io_t の内容を公開ヘッダから隠して拡張ライブラリから直接アクセスできないようにする変更などがありました。

[1889133c04] Samuel Williams 2023-05-29 12:30:17 UTC

拡張ライブラリ io/console で構造体 rb_io_t の内容に直接アクセスするのをやめて rb_io_descriptor() などの API を利用するようにしています。 https://github.com/ruby/io-console/pull/43

[764207e47c] Samuel Williams 2023-05-29 12:37:42 UTC

拡張ライブラリ io/console のソースコードの行末の空白除去。

[98f500d095] Samuel Williams 2023-05-29 13:01:58 UTC

拡張ライブラリ openssl でも構造体 rb_io_t の内容に直接アクセスせず C API の rb_io_descriptor() を利用するようにしています。

[c48d496e8c] Benoit Daloze 2023-05-29 13:27:57 UTC

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

[b7a26dfa16] Peter Zhu 2023-05-29 14:45:31 UTC

rb_num2ulong() と rb_num2ull() で nil から数値への変換失敗時の例外メッセージの変更など。

[99ce41564e] Benoit Daloze 2023-05-29 16:33:51 UTC

rubyspec の Time.new のテストで ruby のバージョンでの分岐を spec 内でしていたのを ruby_version_is による guard を使った書き方に修正しています。

[610038f3bf] Benoit Daloze 2023-05-29 19:26:06 UTC

00d6674636839329f54cad6daf5e5ca16cc3911e で拡張ライブラリ etc で file descriptor を得るための rb_io_descriptor() が定義されていない古い ruby 向けのビルド時の代替実装を直接 rb_io_descriptor() という関数を定義していたのを別の名前で定義してマクロですりかえるようにしています。

[f61bd3ca80] Benoit Daloze 2023-05-29 11:53:49 UTC

標準添付ライブラリ cgiCGI.escape_html のための拡張ライブラリ部分をビルドするための extconf.rb に TruffleRuby のための分岐を追加しています。

[7ddcd0622f] "dependabot[bot]" 2023-05-29 15:57:36 UTC

rubygems の Rust 製拡張ライブラリのテストのためのプロジェクトの rb-sys パッケージのバージョンを更新しています。

[18e55fc1e1] Samuel Williams 2023-05-30 01:02:40 UTC

構造体 rb_io_t の内容にあたる構造体の型などを公開ヘッダ include/ruby/io.h から internal/io.h に移動して、拡張ライブラリから参照されないようにしています。また C API に rb_io_closed_p() などを追加しています。これ隠すのは次のバージョンでやるくらいの感じかと思ったらすぐにやるんだ。互換性の考慮は大丈夫なのかな。 https://github.com/ruby/ruby/pull/6511 [ruby-core:110300] [Feature #19057]

[ec9364e500] Jeremy Evans 2023-03-24 01:40:16 UTC

標準添付ライブラリ racc の ErrorSymbolValue という既に存在しないクラス? モジュール? の参照を削除しています。