ruby-trunk-changes r60360 - r60380

今日は Set#reset メソッドの追加、IO#write の複数引数対応に関連して実装の修正や StringIO#write, ZlibGZipWriter#write の追随、拡張ライブラリ coverage の branch coverage のカラム位置も取れるようにする変更、NaCl サポートの削除などがありました。

knu: r60360 2017-10-22 21:25:34 +0900

標準添付ライブラリ set に Set#reset メソッドを追加しています。 @hash.rehash を呼んでるので空にするわけではなくて、要素を破壊的に変更した時に呼んで同値性チェックが正常にできるようにするためのものみたいです。 [ruby-core:45642] [Feature #6589]

knu: r60361 2017-10-22 21:26:21 +0900

NEWS ファイルに r60360 の Set#reset について追記しています。

yui-knk: r60362 2017-10-22 22:18:40 +0900

拡張ライブラリ coverage の branch coverage 機能の位置情報にカラム番号も含めるようにしています。

yui-knk: r60363 2017-10-22 22:34:24 +0900

拡張ライブラリ coverage の branch coverage のテストでスクリプトのヒアドキュメントに <<~ のインデント除去つきのものを使ってカラム番号を変更しています。

yui-knk: r60364 2017-10-22 22:49:41 +0900

branch coverage のテストで if 文と unless 文の else 節なしの時のテストも追加しています。

yui-knk: r60365 2017-10-22 22:58:55 +0900

branch coverage のテストに後置 if と 後置 unless についてのテストも追加しています。

yui-knk: r60366 2017-10-22 23:13:50 +0900

branch coverage のテストに条件演算子(a ? b : c)のテストも追加しています。あーそうか、今日追加されたテストはカラムがないと同じ行に :then と :else があるので区別つかないものなのか。

kou: r60367 2017-10-23 01:03:57 +0900

標準添付ライブラリ rss というタグの対応を修正しています。 rss.rb ってこんなものもサポートしてたんだ。 https://help.apple.com/itc/podcasts_connect/#/itcb54353390

svn: r60368 2017-10-23 01:03:58 +0900

version.h の日付更新。

sonots: r60369 2017-10-23 01:57:16 +0900

make help のメッセージに make install-capi のヘルプも出力するようにしています。

nobu: r60370 2017-10-23 11:25:58 +0900

r60343 で IO#write に複数の引数を受け付けるようにしましたが、writev(2) で可能な同時に渡せるバッファ数 IOV_MAX に依存して引数の上限が決められていたので、メソッドの引数としては明示的な上限は設けずに、内部的にループ処理するようにしています。 [ruby-core:59408] [Feature #9323]

nobu: r60371 2017-10-23 14:09:34 +0900

IO#write の writev(2) 対応で書き込んだサイズが Bignum になることもあるので Fixnum を前提にしていたところを修正しています。 [ruby-core:59408] [Feature #9323]

nobu: r60372 2017-10-23 14:09:35 +0900

IO#write の writev(2) 対応で fptr->wbuf にバッファされているデータがあった時に余分なデータを書き出していた不具合を修正しています。 [ruby-core:59408] [Feature #9323]

nobu: r60373 2017-10-23 14:28:12 +0900

IO#write の writev(2) 対応で writev(2) で書き残したバッファのぶんを追加で書くループでバッファのぶんを考慮漏れていたのを修正しているようです。 [ruby-core:59408] [Feature #9323]

hsbt: r60374 2017-10-23 14:56:25 +0900

ブラウザ(Chrome)でバイナリが動作する NaCl/PNaCl のサポートを削除しています。もう Google も PNaCl のサポートは終了することをアナウンスしているので、ruby も NaCl 向けビルドのためのコードは削除することにしています。 https://bugs.chromium.org/p/chromium/issues/detail?id=239656#c160 https://github.com/ruby/ruby/pull/1726 [ruby-core:83497] [Feature #14041]

hsbt: r60375 2017-10-23 14:58:59 +0900

r60374 で空になったディレクトリの削除みたいです(git だとファイルがなくなるとディレクトリもなくなるけど svn だと明示的に消さないといけないので)。

nobu: r60376 2017-10-23 15:05:46 +0900

NEWS ファイルに IO#write の複数引数対応について追記しています。 あれ、まだ書かれてなかったのか。 [Feature #9323]

nobu: r60377 2017-10-23 15:25:39 +0900

StringIO#wite も IO#write の変更に合わせて複数引数を受け付けるようにしています。

nobu: r60378 2017-10-23 15:42:37 +0900

WarningBuffer という内部クラスの write メソッドも複数の引数を受け付けるようにしています。

nobu: r60379 2017-10-23 16:06:12 +0900

拡張ライブラリ zlib の Zlib::GipWriter#write も IO#write に合わせて複数引数を受け付けるようにしています。

naruse: r60380 2017-10-23 17:28:05 +0900

Net::HTTP の max_version オプションのテストで、メッセージが異なることもある(OpenSSL のバージョンなどによるのかな)ので assertion のマッチさせる正規表現を修正しています。 https://github.com/ruby/ruby/commit/d02211c9da608742b09aec768db79442007eabc0#commitcomment-25119729