ruby-trunk-changes r36740 - r36764

今日はたくさんコミットがありました。MiniTest の最新版のマージ、CSV のコメント行対応などがありました。

drbrain:r36740 2012-08-21 05:19:21 +0900

Regexp.new の rdoc のマークアップ修正とサンプルコードの変更。しかしこの r4 のサンプルは /dog/x じゃなくて /dog/xi じゃないですかね?

svn:r36741 2012-08-21 05:19:25 +0900

version.h の日付更新。

drbrain:r36742 2012-08-21 05:26:06 +0900

と思ったら Regexp.new の rdoc 再度修正されていました。

jeg2:r36743 2012-08-21 05:52:36 +0900

標準添付ライブラリ csv にコメント行に対応する機能を追加しています。 CSV.new のオプションに :skip_line を追加して、これに正規表現を渡すことでこれにマッチする行はデータとして読まないようにしています。 https://github.com/ruby/ruby/pull/161

ryan:r36744 2012-08-21 08:59:35 +0900

ext/date/date_strftime.c の変数の方の変更により警告除去。

usa:r36745 2012-08-21 09:05:29 +0900

ChangeLog のフォーマット(インデント等)の修正。

usa:r36746 2012-08-21 09:07:32 +0900

Test::Unit の並列テストで worker で master では定義されていない例外が発生した場合のテストを追加しています。 [ruby-dev:46054] [Bug #6882]

ryan:r36747 2012-08-21 09:39:57 +0900

MiniTest の 3.3.0 をマージしています。変更内容多くて読み切れないので今回はパスです。

ko1:r36748 2012-08-21 10:41:07 +0900

test/ruby/tst_continuation.rb で Thread.current に対して set_trace_func で trace_func を設定しているのに解除するのに VM 全体のほうの API を使っていたため trace_func が解除されず漏れていたのを修正しています。

usa:r36749 2012-08-21 10:57:19 +0900

Test::Unit の並列実行時に worker で発生した例外を ProxyError という例外にすりかえて master に渡すことで master で定義されていない例外が worker で発生した時に Marshal.load で復元できなきてエラーになるのを回避するようにしています。 [ruby-dev:46054] [Bug #6882]

nobu:r36750 2012-08-21 13:50:18 +0900

いろいろと行末尾の空白除去。

nobu:r36751 2012-08-21 14:00:33 +0900

id.h の依存関係についての修正です。 id.h のタイムスタンプファイルを導入したのはやっぱりやめて ID_H_TARGET には id.h そのものを格納するようにしています。 parse.y が更新されたら id.h を include しているファイルは再コンパイルされますが、ビルドが失敗していたのは直ったんじゃないかと思います。

usa:r36752 2012-08-21 14:29:42 +0900

win32/Makefile.sub で scriptbin.mk というファイルを二重に include していたので一方を削除。

usa:r36753 2012-08-21 15:53:40 +0900

r36718 の DL のコールバックのブロック呼び出しの再修正です。 lambda でないブロックを define_method でメソッドへ変換して呼ぶことで return 等を lambda のように扱わせていたのですが、メソッドやインスタンス変数が self と共有されていないため失敗することがあったので、動的に定義する無名クラスを self のクラスを継承させて、またself と同じインスタンス変数を移植してから呼ぶようにしています。 [Bug #6389] [ruby-dev:45604]

shyouhei:r36754 2012-08-21 17:10:37 +0900

Travis CI の設定にコンパイラの設定を追加して gcc と clang でコンパイルするようにしています。

usa:r36755 2012-08-21 17:32:01 +0900

addr2line.c で lseek(2) の返す off_t 型のファイルサイズを size_t にキャストして使うところがあるので SIZE_MAX を越えていないかをチェックするようにしています。

eregon:r36756 2012-08-21 20:32:18 +0900

FileUtils のテストで途中で中断されると誤って実行時のカレントディレクトリ全体を削除してしまう teardown が定義されているテストがあったので明示的に一時ディレクトリを指定して消すようにしています。おそろしいテストのバグですね。 [ruby-core:47224] [Bug #6884]

ayumin:r36757 2012-08-21 22:03:30 +0900

Observer の rdoc コメントの typo 修正。

nobu:r36758 2012-08-21 22:32:13 +0900

r36755 の off_t の変数の範囲チェックは off_t と size_t のサイズが異なる(off_t のほうが大きい)時だけ実行するように #if directive を追加しています。コンパイラの警告除去のため。

nobu:r36759 2012-08-22 01:18:02 +0900

configure.in の型のサイズをチェックして SIZEOF_XXX を定義する処理を書き換えています。 case 文を使っていたのをシンプルな test に書き換えたらしい。うーん autoconf 難しい。

nobu:r36760 2012-08-22 01:18:05 +0900

同じくconfigure.in の # という文字を "@%:@" に置き換えています。エスケープしているらしいですがこれで "#" になるとはちょっと見ただけではわからないですね。

svn:r36761 2012-08-22 01:18:06 +0900

version.h の日付更新。

nobu:r36762 2012-08-22 01:18:10 +0900

同じく configure.in でブロックの開きかっこと閉じかっこを dnl というコメント行でコメントアウトしていたのをやめています。

nobu:r36763 2012-08-22 01:40:02 +0900

bignum.c で while 文の本体部分が空のものがあってコンパイラの警告が出ていたようなので書きかたを少し修正して while の本文が存在するようにしています。 ny == 1 でこの while 文にやってきた時の挙動が変化しているような気がするで、最初の比較式は ny > 1 じゃないでしょうか。

nobu:r36764 2012-08-22 01:49:00 +0900

と、思ってたら r36763 の bignum.c の比較式の条件が修正されました。