ruby-trunk-changes r33787 - r33792

Time.at の不具合修正、Pathname#find の Enumerator 対応機能追加がありました。

akr:r33787 2011-11-19 08:19:26 +0900

test/net/http/test_http.rb で一時ファイルの閉じ忘れを修正しています。

svn:r33788 2011-11-19 08:19:30 +0900

version.h の日付更新。

akr:r33789 2011-11-19 16:37:22 +0900

r33787 の一時ファイルの close を ensure 節の中で実行することにして例外発生時なども閉じるようにしています。

akr:r33790 2011-11-19 19:47:03 +0900

Time のオブジェクトを Marshal.dump と Marshal.load でシリアライズしてから復元したものを Time.at に渡すと inspect や to_s で文字列表示に失敗する Time オブジェクトができる不具合の修正です。 Time.at でタイムゾーンの情報をコピーする時に vtm.utc_offset と vtx.zone というメンバも一緒にコピーするようにしています。 [ruby-dev:44827] [Bug #5586]

akr:r33791 2011-11-19 19:48:22 +0900

time.c の struct time_object の gmt メンバの取る値についてのコメントを追記。また Time.at の rdoc に引数が整数の時にはタイムゾーンが local time のオブジェクトが生成されるということを明記しています。

akr:r33792 2011-11-19 21:52:37 +0900

Pathname#find にブロックが渡されなかった時にこれまでエラーにしていたのを Enumerator を返すようにしています。 [ruby-dev:44797] [Feature #5572]
to_enum には each のかわりに呼ぶメソッドを指定できるので to_enum(__method__) (__method__ は現在のメソッドの名前を Symbol で返す)とするとブロックを期待しているメソッドを Enumerator 化したものを返すことができるわですね。このイディオムは憶えておこう。