ruby-trunk-changes r35337 - r35352

今日は to_h という Hash に変換するメソッドがいくつかのクラスやオブジェクトに追加されています。また Matrix#hermitian? の不具合修正、その他主に Windows での不具合修正がありました。

usa:r35337 2012-04-16 09:44:47 +0900

Gem::RemoteFetcher#download でファイルのコピーをする前にコピー元とコピー先が同一のファイルでないかをチェックするために File.expand_path で同じパスにならないかチェックしていたのを File.identical? というメソッドを利用するようにしています。これは Windows でのテストの失敗の修正だそうです。

svn:r35338 2012-04-16 09:44:52 +0900

version.h の日付更新。

marcandre:r35339 2012-04-16 12:15:42 +0900

Hash#to_h というハッシュを返すメソッド(継承されていない場合は単に self を返す)を追加しています。 [ruby-core:44269] [Feature #6276]

marcandre:r35340 2012-04-16 12:15:56 +0900

NilClass#to_h を追加しています。nil.to_h は空の Hash を返します。 [ruby-core:44269] [Feature #6276]

marcandre:r35341 2012-04-16 12:16:10 +0900

Struct#to_h を追加しています。 [ruby-core:44269] [Feature #6276]

marcandre:r35342 2012-04-16 12:16:25 +0900

OpenStruct#to_h を追加しています。 [ruby-core:44269] [Feature #6276]

marcandre:r35343 2012-04-16 12:16:40 +0900

Env.to_h を追加しています。 Env.to_h はもともと存在していた Env.to_hash と同じです。 [ruby-core:44269] [Feature #6276]

marcandre:r35344 2012-04-16 12:17:45 +0900

Matrix#hermitian? が対角線上の要素をチェックしていなかった不具合を修正しています。 [ruby-core:44344] [Bug #6290]

nobu:r35346 2012-04-16 15:19:46 +0900

configure.in の NO_RUBY_VENDOR_LIB の定義のカンマの漏れを修正しています。 "[]" のあとはいいんでしょうか。

nobu:r35347 2012-04-16 16:08:27 +0900

configure で mingw 版でも RUBY_MSVCRT_VERSION という定数を定義するようにして、win32/config.h で RT_VER のかわりに RUBY_MSVCRT_VERSION を利用するようにしています。

nobu:r35348 2012-04-16 16:22:43 +0900

Windows 版で gmtime_r() と localtime_r() の独自実装を提供するようになっています。

naruse:r35349 2012-04-16 18:23:50 +0900

CRuby のソースディレクトリから RubySpec のチェックをするための spec/default.mspec で ruby の -I オプションなどに渡すためのパスが相対パスになっていて chdir すると動かなくなっていたので File.expand_path で絶対パスにしておくようにしています。

nobu:r35352 2012-04-16 21:25:29 +0900

Windows 版で拡張ライブラリのロードで SEGV することがあったのを修正しています。
ちょっとよくわからないのですが DLL の内容のチェックルーチンで Ordinal なエントリ(IMAGE_SNAP_BY_ORDINAL() マクロで判定)というものをスキップするようにしています。 [ruby-core:44381] [Bug #6303]