ruby-trunk-changes 2020-09-26

今日は Range オブジェクトが常に freeze された状態にする仕様変更や ObjectSpace.internal_class_of の不具合修正などがありました。昨夜 3.0.0-preview1 がリリースされたのでその直前でいろいろ変更があったようです。

[c04c34df47] Kenta Murata 2020-09-25 12:32:00 UTC

include/ruby/memory_view.h の rdoc 用コメントにフォーマット文字列のメモリアライメントを意識した構造体アクセスのための指示子について追記しています。

[f4328d7f5d] aycabta 2020-09-25 12:12:53 UTC

ext/readline/depend の不要なヘッダへの依存関係を削除しています。

[0096d2b895] Koichi Sasada 2020-09-25 09:05:55 UTC

Range オブジェクトは生成時に常に freeze しておくようにしています。 [ruby-core:90881] [Feature #15504]

[e4b2c4fca5] Yusuke Endoh 2020-09-25 14:37:12 UTC

test/json/json_common_interface_test.rb のインデント修正のみ。

[79063d8cbf] Yusuke Endoh 2020-09-25 14:38:01 UTC

test/ruby/test_enumerator.rb の capture_io を使ってたのをやめています。これは警告メッセージを捕捉して無視するためのものだったようで、996af2ce086249e904b2ce95ab2fcd1de7d757be で deprecated warning がデフォルトで off になったので不要になったということのようです。

[0db5324e0d] Yusuke Endoh 2020-09-25 14:39:35 UTC

test/ruby/test_memory_view.rb の Memory view のテストで未使用変数の警告を抑制するため変数名に _ の prefix を追加しています。

[abdd3c5616] Yusuke Endoh 2020-09-25 14:45:42 UTC

test/ruby/test_enumerator.rb の Enumerator.new のブロックなしの呼び出しのテストに警告のチェックを追加。 79063d8cbfb7ce4740774289252a2a20dc9a5dc1 で deprecated warning がデフォルト off になったため一時的に Warning[:deprecated] を true にセットするようにしています。

[8119e5b0e6] Kenta Murata 2020-09-25 14:45:00 UTC

Memory view 機能で内部的に使うための __memory_view__ という(@ ではじまってないので ruby スクリプトからは取得できない)内部的インスタンス変数が未初期化のアクセスで警告が出てたので rb_ivar_get() のかわりに rb_ivar_lookup() を使うように変更しています。

[b271bd73e0] Yusuke Endoh 2020-09-25 15:20:06 UTC

標準添付ライブラリ net/smtp のテストで Thread と IO の後始末もれで leak 検出の警告が出てたので後始末を追加しています。

[f7c4118263] git 2020-09-25 15:27:30 UTC

version.h の日付更新

[722a1e479f] 卜部昌平 2020-09-25 15:19:09 UTC

RBIMPL_ALIGNOF() マクロの定義のめの preprocessor の分岐の順序を変更して C++ の時に template を使う実装を優先するようにしています。

[3a00f2a0f4] Kenta Murata 2020-09-25 15:30:36 UTC

ext/readline/depend の依存関係を更新しています。おそらく f4328d7f5d035b5a292d00ad21e79818b9220d8b が revert された結果になってると思います。

[24820d508b] Alan Wu 2020-09-02 03:13:54 UTC

拡張ライブラリ objspace の ObjectSpace.internal_class_of メソッドで T_NODE 型のオブジェクトの場合異常終了になってたので nil を返すようにしています。テストでは RubyVM::AbstractSyntaxTree::Node を使うようにしています。

[8b42474a26] Burdette Lamar 2020-09-25 20:13:10 UTC

String#succ の rdoc 用コメントのサンプル強化。 https://github.com/ruby/ruby/pull/3590

[137fa5b27e] Aaron Patterson 2020-09-25 16:18:12 UTC

GC.compact の処理で Thread の処理時に現在の Fiber の更新処理も含めてたのをやめて、rb_execution_context_update() の呼び出しも Fiber が存在しない時だけ呼ぶ(おそらく Fiber があった場合は Fiber 経由で呼ばれるのにまかせるというとだと思います)ようにしています。

[ce92d15596] "NARUSE, Yui" 2020-09-26 09:24:28 UTC

ruby_atomic.h の ATOMIC_FETCH_SUB() マクロ定義の引数の typo 修正。GCC の builtin 関数が使えない時の実装で CentOS 6 でのビルド時に発覚したようです。CentOS 6 はもう RubyCI から消えてるからなぁ。 [ruby-core:100169] [Bug #17194]

[4e31cbc070] "NARUSE, Yui" 2020-09-26 09:55:00 UTC

common.mk と ext/readline/depend の依存関係更新。

[dead747874] Benoit Daloze 2020-09-26 10:36:31 UTC

IO のテストで Tempfile.open を使ってたところでブロックを抜けたらファイルが削除されるように Tempfile.create を使うようにリファクタリングしています。ブロックを抜けたあとで Tempfile#close! を明示的に呼んでファイル削除させてたので Tempfile.create ならブロックから抜ける時に自動的に消してくれるので。またブロックなしで呼んでたところで IO の leak を修正するため後始末を追加しています。