ruby-trunk-changes r47194 - r47203

今日は rake の例外のバックトレース表示の修正のほか主にリファクタリングやテストの修正でした。

nobu: r47194 2014-08-16 09:55:36 +0900

r47189 の ChangeLog エントリで追加した関数名を間違えていたのを修正しています。

svn: r47195 2014-08-16 09:55:47 +0900

version.h の日付更新。

normal: r47196 2014-08-16 10:27:19 +0900

Kernel#sleep や IO#select のタイムアウトの数値に Float を渡した時の tv_nsec のオーバフロー時の処理を追加しています。 [ruby-core:64407] [Bug #10144]

nobu: r47197 2014-08-16 10:53:10 +0900

gc.c の obj_free()、obj_memsize_of()、gc_mark_children() などの関数から NODE 構造体の操作部分を専用の関数に切り出して node.c に移動しています。

nobu: r47198 2014-08-16 12:36:47 +0900

string.c と symbol.c で同名の setup_fake_str() という static 関数があった(引数が違っていた)のを string.c のものに統一して、string.c の外から呼べるように rb_setup_fake_str() という wrapper 関数を定義して symbol.c ではこれを呼び出すようにリファクタリングしています。

nobu: r47199 2014-08-16 12:48:21 +0900

rake でバックトレースの表示の時に標準添付のライブラリのパスを除外するために RbConfig::CONFIG の "prefix" や "libdir" を含むキーを参照していたのですが、余分なキーまで参照していたみたいなので prefix と libdir を終端に持つキー名のみ参照するようにしています。ついでに正規表現のグループ化に後方参照されない記法を使うようにしています。

nobu: r47200 2014-08-16 12:56:17 +0900

r47199 のさらに続きで、prefix の前にアルファベットが存在するものだけ使うようにしています。具体的には "prefix" と "exec_prefix" を除外しようとしているようです。

nobu: r47201 2014-08-16 13:49:47 +0900

rubygems のテストで拡張ライブラリのビルドのテスト内で、skip の条件判定で String#include? に Regexp.escape でエスケープした文字列を渡していたのが意図と違っているということで修正しています。

nobu: r47202 2014-08-16 15:22:48 +0900

emacs 用の ruby-mode.el などのテスト test/misc/test_ruby_mode.rb で Tempfile の後始末の修正とエラーメッセージに expected と actual の差分を表示するようにする変更を加えています。

suke: r47203 2014-08-16 19:34:24 +0900

拡張ライブラリ win32ole の WIN32OLE_EVENT の実装で evs_length が Array オブジェクトに rb_funcall() で length メソッドを呼ぶという実装だったのを RARRAY_LEN() マクロを利用するように変更しています。