ruby-trunk-changes r45199 - r45216

今日は主に昨日修正した Numeric#step の追加修正や by に 0 を渡すことができるようにする仕様追加などがありました。

naruse: r45199 2014-02-27 23:31:24 +0900

r45189 で tool/merger.rb のマージするリビジョンの範囲指定 X-Y で svn の -r X:Y 指定は X を含まない(X+1 から)なので X-Y は X も含むように調整しています。

hsbt: r45200 2014-02-28 09:37:16 +0900

File.basename の rdoc 用コメントに第2引数の拡張子を指定する引数に ".*" を渡すと任意の拡張子を削ることができることを追記しています。 ええっ! 知らなかった… https://github.com/ruby/ruby/pull/550

svn: r45201 2014-02-28 09:37:20 +0900

version.h の日付更新。

nobu: r45202 2014-02-28 09:51:37 +0900

r45190 で configure で引数のパターンを検出するようにした pthread_setname_np() ですが、パターン毎のプラットフォームの名前をつけて識別していたのを検出する処理もループで書くようにしてリファクタリングしています。

nobu: r45203 2014-02-28 10:23:31 +0900

r43609 で tool/file2lastrev.rb から分離したバージョン管理システムを利用するためのライブラリ tool/vcs.rb でエラーメッセージを捨てるための処理を SVN 版のみ行っていたのを他のツールでも行うようにしています。

nobu: r45204 2014-02-28 10:52:01 +0900

r45202 の pthread_setname_np() の検出処理で SET_THREAD_NAME() マクロを定義する時に AC_DEFINE ではなく AC_DEFINE_UNQUOTED を使って関数の引数の部分のシェル変数が展開されるようにしています。

marcandre: r45205 2014-02-28 11:03:30 +0900

Numeric#step が返す Enumerator の size が不正な不具合の修正、r45187 で修正されましたが、条件分岐を整理してシンプルにリファクタリングしています。 [ruby-core:61106] [Bug #9570]

marcandre: r45206 2014-02-28 11:04:03 +0900

Numeric#step のテストで Bignum を想定している数値が 2**32 などを使っているところを 64bit 環境でも Bignum になるよう 1 << 100 という数を使うようにしています。

marcandre: r45207 2014-02-28 11:04:28 +0900

numeric.c で rb_intern("<=>") を毎回しているところがあったので id_cmp という static 変数に格納しておくようにしています。

marcandre: r45208 2014-02-28 11:04:43 +0900

numeric.c の NUM_STEP_GET_INF() という関数マクロは1箇所でしか利用されていなかったのでそこに展開してマクロ定義を削除しています。

marcandre: r45209 2014-02-28 11:04:59 +0900

Numeric#step で引数 by に 0 を指定した時に ZeroDivisionError が発生するなどうまく動かなかったので、Float::INFINITY を返し無限ループのような挙動をするように修正しています。 [ruby-core:61125] [Bug #9575]

marcandre: r45210 2014-02-28 11:18:45 +0900

r45209 の ChangeLog エントリを追加しています。

marcandre: r45211 2014-02-28 11:19:21 +0900

Numeric#step の rdoc 用コメントにこの by に 0 が指定された時の挙動について追記しています。

nobu: r45212 2014-02-28 13:59:49 +0900

r45187 および r45205 の Numeric#step の修正の再修正。from, to, step が全て Fixnum だった時に step size を LONG2FIX() で変換していたのをオーバフロー対策として ULONG2NUM() で返すようにしています。

nobu: r45213 2014-02-28 14:11:44 +0900

r45187、r45205 および r45212 の Numeric#step の修正の再修正。 今度は from, to, step いずれかが Float だった時の処理でやはりオーバフローを防ぐため Fixnum に変換できるか確認してから変換し、収まらない時は Bignum に変換するようにしています。

hsbt: r45214 2014-02-28 15:57:28 +0900

test/zlib/test_zlib.rb でコメントアウトされていたコードを削除しています。

hsbt: r45215 2014-02-28 15:57:29 +0900

標準添付ライブラリ xmlrpc のテストで https を使ってポート番号を変更している時のテストで use_ssl をチェックする assert を追加しています。多分未使用だった変数の警告を除去するためでしょう。

nobu: r45216 2014-02-28 17:00:20 +0900

test/rexml/xpath/test_node.rb および tool/redmine-backporter.rb の svn property 設定。