ruby-trunk-changes r62595 - r62612

今日は ERB.new の通常引数の警告レベルの変更や bash/zsh でコマンド出力をファイルとして渡す記法を使って ruby の引数にコマンド出力の pipe を渡した時の不具合の修正などがありました。

nobu: r62595 2018-02-27 22:28:31 +0900

Random::Formatter という Module を Random に extend するようにしています。include もしてますが、Random.random_number と呼べるようにするためかな? Random.bytes のチケットに参照されてますが特にそっちでは言及はなさそうです。 [ruby-core:37576] [Feature #4938]

hsbt: r62596 2018-02-27 23:08:26 +0900

tool/make-snapshot に -s3 というオプションを追加して aws コマンドを使ってパッケージを S3 のバケットへ直接アップロードできるようにしています。

nobu: r62597 2018-02-27 23:22:57 +0900

complex.o と dir.o に組み込みの ID の利用を追加したので common.mk で id.h への依存関係を追加しています。

mrkn: r62598 2018-02-28 01:45:09 +0900

Kernel#Rational() で 2引数で呼ばれた時にそれぞれの引数が Numeric オブジェクトでなかったら to_r を使って変換してから扱うようにしています。

svn: r62599 2018-02-28 01:45:10 +0900

version.h の日付更新。

eregon: r62600 2018-02-28 05:21:01 +0900

mspec に upstream の変更をマージしています。 traffleruby のリポジトリoracle のものに変わってるなぁ。

svn: r62601 2018-02-28 05:21:02 +0900

r62600 の新規作成ファイルの svn proprety 設定。

eregon: r62602 2018-02-28 05:21:25 +0900

rubyspec に upstream の変更をマージしています。

svn: r62603 2018-02-28 05:21:26 +0900

r62602 の新規追加ファイルの svn property 設定。

eregon: r62604 2018-02-28 05:44:57 +0900

去年追加されてた tool/pull-latest-mspec-spec というツールを削除しています。ruby/mspec に含まれるようになったので不要になったようです。

eregon: r62605 2018-02-28 05:45:59 +0900

rubyspec に追加のマージ。Windows で動かないテストの guard を追加しています。

nobu: r62606 2018-02-28 14:17:01 +0900

File.stat の実装で rb_stat() に委譲して引数に to_io で変換できるかチェックして fstat(2) を使うこともできるようにしたのでパスをわけて余計な変換を避けるようにしています。File.stat に IO オブジェクトも渡せるけど、まず to_path でファイルパスに変換しているので、もう IO に変換できるかチェックする必要はないのでした。つまり表面的な仕様には変化はないけど余計なパスを通らないようにリファクタリングした、という感じかな。

nobu: r62607 2018-02-28 14:43:53 +0900

bashzsh の記法で引数にファイルをわたすかわりにコマンドの出力結果を渡すようにした時に ruby からそのファイルの内容が読めないという不具合があったのを修正しているようです。ちょっとよくわかってないのですが、shell のコマンド出力を渡す機能では /dev/fd/* のデバイスファイルを渡して、パイプ経由? で読ませるみたいですね。そういう仕組みだったのかー。そしてこのデバイスファイルが symbolic link として扱われるみたいで、その時の realpath でうまく動かなかったみたいです。 [ruby-dev:50487] [Bug #14557]

ko1: r62608 2018-02-28 16:31:49 +0900

test/ruby/test_time.rb の Time#strftime のメモリリークについてのテストで別 Thread が動いてると正しく判定できないので Thread.list をみて他の Thread があったら skip するようにしています。

hsbt: r62611 2018-02-28 20:12:36 +0900

r62596 で tool/make-snapshot でパッケージを S3 に直接アップロードするオプション -s3 を追加しましたが、そこで `cmd` によるコマンド実行をしていたので %x 記法を使うように書き換えています。

k0kubun: r62612 2018-02-28 21:12:20 +0900

r62529 で ERB.new の通常引数の第2〜第4引数は警告を出すようにしていましたが、$VERBOSE が真の時だけ警告を出すようにしています。ERB.new のバージョンによって引数の渡しかたを変える必要があったので、まずはキーワード引数の追加をして、移行期間を設けるようにしています。