ruby-trunk-changes 2023-11-26

今日は主に Object Shapes の不具合修正、標準添付ライブラリ resolv の機能追加、irb の --no-pager オプションの追加などがありました。

[564ef66e26] Peter Zhu 2023-11-24 19:31:36 UTC

Object Shapes の実装で RUBY_DEBUG マクロが定義されているデバッグモードのビルド時に shapes のノードを作成する時に同じインスタンス変数のためのものが既に存在するかチェックして既存なら異常終了させるようにしています。

[b93a1bb40b] Peter Zhu 2023-11-24 19:31:50 UTC

Object Shapes のデバッグのため rb_shape_get_iv_index() から主な処理内容を shape_get_iv_index() に切り出して RUBY_DEBUG が真に定義されているデバッグモードの時に RUBY_ASSERT() での検証を追加しています。

[1b7376423d] Nobuyoshi Nakada 2023-11-25 16:18:48 UTC

de37b780508d4ced5837f39446d3c8c93ef9ec7c で拡張ライブラリ openssl のテストを MinGW で skip するようにしていたのを OpenSSL のバージョンで条件判定するように修正しています。

[87c3deacf4] Jeremy Evans 2019-08-27 03:30:59 UTC

標準添付ライブラリ resolv の Resolv.new にキーワード引数 use_ipv6 を追加して強制的に IPv6 のアドレスを返して IPv4 に fallback しないようにしています。 [ruby-core:88010] [Feature #14922]

[003f06bde4] Nobuyoshi Nakada 2023-11-26 01:03:45 UTC

標準添付ライブラリ resolv のテストで socket の閉じ忘れがあったので ensure 節で close を追加しています。

[7fe7b7bc5a] Nobuyoshi Nakada 2023-11-25 15:28:36 UTC

ISeq のバイナリフォーマットからの load 時の T_BIGNUM 型の整数オブジェクトの BDIGIT のサイズやバイトオーダーなどをプラットフォーム間での互換性を意識して読み込めるようにサイズ指定やフラグの指定を修正しています。

[e81c380c0f] Nobuyoshi Nakada 2023-11-26 07:04:04 UTC

C API でオブジェクトで wrap している構造体内の各メンバーを GC の mark 対象とするためのヘルパーマクロの RUBY_REFERENCES_START()/RUBY_REFERENCES_END の RUBY_REFERENCES_START() で暗黙に定義する変数の修飾子に const を追加しています。 これ最近導入されたような、と思ってみたら 7142328a94c85cc5f23630396f248b32133f87ab なのでやはり今年追加されたものでもう忘れかけてた。

[087a919ea4] Nobuyoshi Nakada 2023-11-26 10:18:57 UTC

doc/timezones.rdoc のマークアップmarkdown 形式になっていたところを修正しています。

[0bced53a8a] Nobuyoshi Nakada 2023-11-26 10:37:56 UTC

Time.at の rdoc 用コメントのマークアップのミスを修正しています。

[9cd086ba4b] Stan Lo 2023-11-26 11:07:46 UTC

irbコマンドラインオプションに --no-pager を追加して長い出力の表示にページャーコマンドを使う機能を抑制できるようにしています。 irbrc で IRB.conf[:USE_PAGER] に false を設定することでも設定できるようにしています。 https://github.com/ruby/irb/pull/783