ruby-trunk-changes r42245 - r42256

今日は標準添付ライブラリ Set のメソッド追加などがありました。

akr:r42245 2013-07-30 08:22:25 +0900

r42244 で追加した RbConfig::SIZE での C の型のサイズ取得ですが #ifdef SIZEOF_XXX で分岐していましたがこれらのマクロは型が存在しない時は 0 になっているらしく #if SIZEOF_XXX != 0 で分岐するように修正しています。これにより型が存在しない時はその定数が存在しないようになります。

svn:r42246 2013-07-30 08:22:29 +0900

version.h の日付更新。

naruse:r42247 2013-07-30 10:02:45 +0900

r42220 で File.expand_path のテストで環境変数 USER がセットされているかの assertion を追加しましたが、USER が未定義だったらテストを skip するようにしています。

zzak:r42248 2013-07-30 11:02:19 +0900

ext/curses/extconf.rb に rdoc の :nodoc: タグを追記しています。

naruse:r42249 2013-07-30 15:52:48 +0900

test/runner.rb になにやらテストが例外発生した時に ObjectSpace.count_objects と ObjectSpace.count_objects_size で型ごとのオブジェクト数とメモリ容量を出力するようにしています。

naruse:r42250 2013-07-30 16:08:28 +0900

r42249 にはデバッグ用に常に raise するようになっていてテストが実行されない状態だったのでそれを削除しています。

nobu:r42251 2013-07-30 17:16:20 +0900

sprintf で PRIsVALUE (%i) でオブジェクトを埋めこむ時に表示できない文字はエスケープして表示するようにしています。

kazu:r42252 2013-07-30 17:23:16 +0900

r42251 の ChangeLog エントリが重複していたので1つ削除しています。

knu:r42253 2013-07-30 18:58:13 +0900

標準添付ライブラリ set.rb に Set#intersect? と Set#disjoint? を追加しています。引数に Set を受け取って両者の要素に重複があるかをチェックするメソッドです(disjoin? は intersect? の否定)。 [ruby-core:45641] [Feature #6588]

knu:r42254 2013-07-30 19:21:55 +0900

r42253 の Set#intersect?, disjoint? のテストに自分自身を引数に受け取った時のテストケースと、メソッドが非破壊的であることを確認する assertion を追加しています。

naruse:r42255 2013-07-30 21:30:30 +0900

r42249 の test/runner.rb の変更が任意の例外発生時に実行するようになっていたので NoMemoryError が発生した時だけ ObjectSpace.count_objects などを表示するようにしています。

glass:r42256 2013-07-30 22:25:40 +0900

test/ruby/test_hash.rb に Hash#each で生成した Enumerator の実行順序が要素の追加順序を保存していることを確認するテストを追加しています。