ruby-trunk-changes r62145 - r62154

今日は Windows 環境での pipe の扱いの修正(追加修正含む)などがありました。

nobu: r62145 2018-02-01 02:26:20 +0900

r62123 のさらに再修正。fptr->finalize で IO の fd の種類を判定するところで、pipe_list から要素を消す条件が反転してたのを修正していました。

svn: r62146 2018-02-01 02:26:21 +0900

version.h の日付更新。

nobu: r62147 2018-02-01 02:35:27 +0900

r62145 のさらに追加修正。早めに return するように追加した条件が常に真になってたので判定を修正しています。

hsbt: r62149 2018-02-01 09:25:18 +0900

doc/ChangeLog-2.4.0 の typo 修正。

nobu: r62150 2018-02-01 11:56:28 +0900

Windows 版の write (rb_w32_write()) で errno が EINVAL の時に GetLastError() を使って errno を設定しなおすようにしています。 close 済みに pipe に書きこんだ時の errno=EPIPE のセットのために必要だったもよう。

nobu: r62151 2018-02-01 12:55:55 +0900

r62116 の rb_fucall() の引数が定数だったら展開する最適化で引数の数のチェックを緩めてましたが clang 向けの特別な条件にしていたのをやめて argc が 0 の時だけ判定を変えるように一般化しています。 [ruby-core:85266] [Bug #14425]

normal: r62152 2018-02-01 17:59:27 +0900

ccan/list/list.h に upstream の変更を取り込んでいます。ひとつ関数が追加されていますが他にそんなに大きな変更はなさそうですね。

hsbt: r62153 2018-02-01 18:07:16 +0900

r55366 の標準添付ライブラリ forwardable の Forwardable#def_delegator の修正についてのテストを追加しています。extend した時のテストも追加されてなかったかな、と思ったけどインスタンスに直接 Forwardable を extend した時のケースはなかったみたいですね。 [ruby-core:77611] [Bug #12837]

normal: r62154 2018-02-01 18:20:38 +0900

array.c の Array#frozen? の実装を削除しています。 r15206 (かなり昔ですね)から Object#frozen? と同じ実装なので冗長になってたので不要だったようです。