ruby-trunk-changes 2021-03-13

今日は Integer#remainder と Float#remainder の不具合修正などがありました。

[aaab3b1de9] Jeremy Evans 2021-03-10 21:15:50 UTC

Integer#remainder および Float#remainder の引数に Float::INFINITY を渡した時に receiver と符号が逆だと結果が NaN になってたのを修正しています。 NaN じゃないんだ。 [ruby-core:43109] [Bug #6120]

[722e6c1d04] git 2021-03-12 15:35:39 UTC

version.h の日付更新

[2148ee78a5] Nobuyoshi Nakada 2016-01-07 05:58:32 UTC

tool/generic_erb.rb から timestamp ファイルを利用して更新があった時だけファイルを再生成する処理を tool/lib/atomic_write.rb というライブラリに切り出しています。

[983f6d0f2a] Nobuyoshi Nakada 2021-03-07 01:24:03 UTC

ractor.c の ractor_next_id() で ractor_last_id をインクリメントして新しい id を返してるところで RB_VM_LOCK()/RB_VM_UNLOCK() による排他処理をしていましたが、これは RUBY_ATOMIC_FETCH_ADD() マクロによる atomic 操作で良いだろうということでこれに置き換えてます。これ系の atomic 操作のマクロってコンパイラとかアーキテクチャがサポートしてない時に効果がない書きかたに fallback することがあったような気がしますが、調べてみるとそういえば 20773a109029ba4464d7749d38a311f880a73293 でそのような場合はビルドエラーになるようにしていたのでした。

[07ff1f4b0b] Nobuyoshi Nakada 2021-03-13 00:14:20 UTC

2148ee78a5bc5e679903f5839c66578bfcf94a39 の AtomicWrtite の切り出しは間違ってコミットしたものだったそうなので revert しています。

[c7e6914b39] Kenichi Kamiya 2021-03-13 05:15:36 UTC

doc/syntax/comments.rdoc の 1行に複数の magic comment を書く例に frozen_string_literal: true も追加しています。