ruby-trunk-changes 2020-08-19

今日は ObjectSpace.trace_object_allocations の不具合修正や irb のテストの修正、一部マクロの inline 関数化などがありました。

[6767a9ef2b] aycabta 2020-08-18 12:43:19 UTC

irbhistory file についてのテストで irb を起動するのに Kernel#system に複数の引数にわけて渡すようにしています。 空白で連結して渡すのは Windows でうまくいかないみたいですね。

[bed6b7206a] Yusuke Endoh 2020-08-18 14:32:46 UTC

irbhistory file についてのテストで未使用の変数の警告が出てたのを抑制するため変数名の先頭に "_" をつけています。 "_" ではじまる変数は未使用の警告が出ないので(ただの "_" にしちゃってもいいですが)。

[ca6868a430] aycabta 2020-08-19 00:42:34 UTC

irbhistory file についてのテストで入出力をすりかえる処理の不具合を修正。

[371c051ca8] git 2020-08-19 00:46:14 UTC

version.h の日付更新

[7a58ee9b96] Aaron Patterson 2020-08-19 00:34:03 UTC

ObjectSpace.trace_object_allocations が GC.compact によるオブジェクトの移動の影響でうまく動かなくなってたのを修正。 ObjectSpace.trace_object_allocations で利用している構造体の確保を ALLOC_N() でしてたのを wrap する T_TYPEDDATA タイプのオブジェクトを作って GC に管理させるようにしています。ただし rb_gc_register_mark_object() で登録されるのでずっと解放はされないようです。そして 7a58ee9b962ad0072e5213d3512c809048e4eba1 で ObjectSpace.trace_object_allocations のテストを実行しないようにしたのを戻しています。

[e939a5c29f] aycabta 2020-08-19 02:09:18 UTC

irbhistory file についてのテストで irb を起動する時に標準入出力をすりかえるのに専用のメソッドを用意してましたが、Kernel#system の in: out: キーワード引数で充分だったのでそっちを使うようにリファクタリングしています。

[7226f76255] Aaron Patterson 2020-08-19 02:56:42 UTC

7a58ee9b962ad0072e5213d3512c809048e4eba1 で実行するように戻した ObjectSpace.trace_object_allocation のテストですが、テストメソッドの最初で ObjectSpace.trace_object_allocations_clear を呼ぶようにしています。再実行のためかと思ったけどコミットログをみると GC.compact の影響で失敗する可能性を減らすためみたいですね。

[e2c2283a80] aycabta 2020-08-19 04:03:32 UTC

irbhistory file についてのテストクラスの定義全体を Solaris 環境では省略するようにしています。

[6649677eb9] 卜部昌平 2020-08-17 04:51:23 UTC

マクロ ROBJECT_IV_INDEX_TBL() をインタプリタ内部では inline 関数として定義するようにしています。また include/ruby/internal/core/robject.h では(これ名前には internal とついてるけど公開ヘッダですよね) deprecated の警告つきで定義するようにしています。

[d2eeb83634] 卜部昌平 2020-08-17 05:30:06 UTC

common.mk の依存関係の更新。

[99093e1600] 卜部昌平 2020-08-17 02:12:23 UTC

RHASH_TBL() で Hash オブジェクトのテーブルに直接アクセスしてる部分は WB_UNPROTECTED にして RHASH_TBL_RAW() を利用するようにして、RHASH_TBL() の定義は削除しています。

[8cc5f74ffc] 卜部昌平 2020-08-17 02:54:12 UTC

マクロ RHASH_EMPTY_P() も inline 関数として定義しなおしています。これはもともと非公開だったので完全に inline 関数に変更しています。

[f81811fc2f] aycabta 2020-08-19 10:13:13 UTC

irbhistory file のテストで一部のテストメソッドは Editline とリンクしている時に skip するようにしています。

[5b04e2362c] Hiroshi SHIBATA 2020-08-19 10:22:12 UTC

標準添付ライブラリ racc の gemspec ファイルでも spec.licenses の内容を "Ruby" との dual licenses に変更しています。元は "MIT" だったのを "BSD-2-Clause" と "Ruby" との dual licenses に変更しています。

[7f0ea20581] Hiroshi SHIBATA 2020-08-19 10:19:07 UTC

LEGAL ファイルに default gem の did_you_mean のファイル群についてのライセンス情報を追記しています。