ruby-trunk-changes 2020-01-11

今日は Windows 環境での潜在的? 不具合修正や thread local storage の実装のリファクタリングなどがありました。

[db0398dc04] 卜部昌平 2020-01-10 06:16:48 UTC

internal/bits.h の Windows 環境のチェックのために参照しているマクロの _Win64 → _WIN64typo 修正と nlz_int128() で参照する変数を間違えてた不具合修正。

[7fed7eb50b] 卜部昌平 2020-01-10 10:24:59 UTC

同じく internal/bits.h の Windows 向け実装の不具合修正。

[79dcd26aec] 卜部昌平 2020-01-09 06:13:52 UTC

同じく internal/bits.h で Windows 環境でのコンパイラバージョンのチェックのため MSC_VERSION_SINCE() を使うように変更していいます。

[13064fe5db] 卜部昌平 2020-01-09 07:50:59 UTC

C の規格でビット論理和で論理シフトの幅が大きすぎる時の未定義のケースが internal/bits.h にあったのを修正するため _rotr()/_rotr64()/_lrotr() などの組み込み関数? が利用できたらこれを使うようにしています。

[135b533e84] 卜部昌平 2020-01-10 11:29:24 UTC

internal/compilers.h に GCC 以外の時に #include "ruby/ruby.h" を追加しています。分岐のもう一方でも同じようなマクロを参照しているけどそっちはいらないのかな。

[1b4d406e3a] Nobuyoshi Nakada 2020-01-10 12:26:43 UTC

Hash#transform_values が返す Hash が元の Hash のデフォルト値の Proc オブジェクトを共有してしまうのを抑制してリセットするようにしています。 [ruby-core:96759] [Bug #16498]

[7693897a11] Nobuyoshi Nakada 2020-01-10 12:48:20 UTC

1b4d406e3a04032b6d01e92b6d184a16945c6ac3 の続きで、追加した hash_copy() を rb_hash_s_create() でも利用するようにリファクタリングしています。

[e04366056a] Hiroshi SHIBATA 2020-01-10 13:56:46 UTC

tool/sync_default_gems.rb で参照する bundler のリポジトリGitHub の bundler/bundler から rubygems/bundler に変更しています。統合されたんですね。

[b53d8230f1] Hiroshi SHIBATA 2020-01-10 13:57:20 UTC

doc/maintainers.rdoc に記述されている benchmark の upstream を bundler/benchmark から ruby/benchmark に修正しています。間違ってたっぽい。

[40c57ad4a1] Lourens Naudé 2020-01-04 00:45:58 UTC

Thread#[] や Thread#[]= でアクセスする thread local storage の実装を通常の st_table から id_table にして Symbol の ID でアクセスするようにしています。thread local storage のキーって常に Symbol なんだったっけ。

[52a9e4ffd3] git 2020-01-11 01:40:57 UTC

version.h の日付更新

[8bb24712de] Nobuyoshi Nakada 2020-01-11 01:14:53 UTC

String#encode のテストに改行コードの変換についてのテストケースを追加しています。

[eb737916b1] Nobuyoshi Nakada 2020-01-11 01:19:29 UTC

String#encode の newline オプションが xxxx_newline: true と同時に指定されてたら警告するようにしています。

[7584853cfe] Nobuyoshi Nakada 2020-01-11 01:43:39 UTC

thread.c の st_delete_wrap() という inline 関数はもう未使用になっているので削除しています。

[e62aead269] Kazuhiro NISHIYAMA 2020-01-11 07:24:16 UTC

GitHub Actions のリポジトリを cloneするための job で git clone に --branch オプションをつけるようにしています。

[012f297311] Nobuyoshi Nakada 2020-01-11 07:32:56 UTC

ffdef3674af921d7ddd550dc492dcdbed97f7ba5 で Marshal.dump で "E" という名前の隠しインスタンス変数として Encoding 情報をダンプするため、もし本当に "E" というインスタンス変数が定義されてたら警告を出すようにしていましたが、そこで "E" という名前を直接書かずに name_s_encoding_short というマクロを参照するようにしています。