ruby-trunk-changes 2020-03-21

今日は bignunm.c のリファクタリングやテストの修正などがありました。

[86ca640287] Jun Aruga 2020-03-18 13:31:11 UTC

f132825ffa1c225b0055ce6b0aa0d8428fba2623 で Travis-CI で apt-add-repository がタイムアウトするからということで IPv6 を無効化するために追加した tool/travis_disable_ipv6.sh というツールを削除しています。 Travis-CI 側で対処がされたとのこと。

[39cefa64d2] git 2020-03-21 02:51:57 UTC

version.h の日付更新

[be76e86e69] Yusuke Endoh 2020-03-21 06:46:33 UTC

拡張ライブラリ openssl のテストで TCPSocket を wrap して作った OpenSSL::SSL::SSLSocket で TCPSocket のほうを先に close してから OpenSSL::SSL::SSLSocket#close を呼んでもエラーにならないことを確認するテストで、close 自体は大丈夫だけどダミーサーバー内で read しているところが OpenSSL::SSL::SSLError を発生させてしまうことがあるので、start_server にキーワード引数 server_proc で OpenSSL::SSL::SSLError を無視させるメインループ実装を渡してそれを抑制するようにしています。

[b2041c8b70] taki 2020-03-21 00:22:11 UTC

RbConfig.fire_update! の rdoc 用コメントの typo 修正。tool/fake.rb で使っている依存先にも変更を伝播させるためのメソッドですね。

[318be1cb2f] Nobuyoshi Nakada 2020-03-21 07:33:18 UTC

拡張ライブラリ fiddle の extconf.rb で libffi のバージョンを Kernel#warn で表示するのを ver が定義されている時だけにしています。同梱している libffi を使う時と pkg-config でバージョン指定があった時、かな?

[6f0446785b] Nobuyoshi Nakada 2020-03-21 07:42:19 UTC

bignum.c の base36_power_cache というテーブルを Qnil で埋めるように初期化していましたが、static 変数が 0クリアされるのにまかせて、初期値を Qfalse と想定した処理に書き換えています。これにより power_cache_init() はからっぽの関数になっていますが、これは消さないんですね。

[5b287481be] Nobuyoshi Nakada 2020-03-21 07:59:55 UTC

RUBY_INTEGER_UNIFICATION という Fixnum と Bignum のクラスを Integer に統合した時にそれを拡張ライブラリから判定できるようにするために追加したマクロで分岐していたところが本体にも残っていたので削除しています。