ruby-trunk-changes r55065 - r55075

今日は Regexp#match? の不具合修正などがありました。

naruse: r55065 2016-05-19 00:17:31 +0900

Regexp#names という named capture の名前の配列を返すメソッドで事前に必要なサイズの capacity を持つ配列を確保するようにしています。

svn: r55066 2016-05-19 00:17:32 +0900

version.h の日付更新。

nobu: r55067 2016-05-19 11:37:38 +0900

r55061 で追加された Regexp#match? でマッチしない時に false でなく nil を返す場合があったのを修正しています。 [Feature #8110] って書いてあるけど [ruby-core:75604] [Bug #12394] こっちの修正じゃないかな。

nobu: r55068 2016-05-19 12:09:00 +0900

r55067 の ChangeLog エントリの修正。

nobu: r55069 2016-05-19 12:10:12 +0900

Regex#match? 実装で onig_search() に渡している引数が一部間違えてたのを修正。また省略可能引数で文字列のマッチの開始位置を渡した時に値が文字列サイズより大きすぎる時の処理を修正。 [ruby-core:75604] [Bug #12394]

nobu: r55070 2016-05-19 12:46:20 +0900

テスト用のユーティリティ assert_separately で EnvUtil.invoke_ruby の timeout_error を nil に明示的に指定していたのを削っています。 r51539 以降 EnvUtil.invoke_rubyタイムアウト時に子プロセスの情報をダンプするようにしたので、とのこと。これって例外クラスが指定されている(デフォルトで Timeout::Error)と、常に例外を発生させてるようにみえるんですけど、なんか変なような。

rhe: r55071 2016-05-19 13:12:57 +0900

拡張ライブラリ openssl の OpenSSL::x509::Attribute#value0 で引数のクラスのチェックを強化しています。

svn: r55072 2016-05-19 13:12:58 +0900

r55071 で新規追加されたファイルの svn property 設定。

usa: r55073 2016-05-19 13:34:30 +0900

test/ruby/test_array.rb の TestArray#test_push_over_ary_max で assert_separately の timeout を 20秒に延長しています。 mswin の CI 環境で時間がかかってエラーになることがあるみたいです。

rhe: r55074 2016-05-19 13:53:05 +0900

拡張ライブラリ openssl で OpenSSL の crypto_get_ex_data() や CRYPTO_get_ex_new_index() といったアプリケーション固有情報をセットする関数? マクロ? の wrapper 関数を定義して使っていたのを、マクロとして定義するようにリファクタリングしています。また1つしか index を登録していないのに、なぜかおなじ index で2度チェックしていたのをちゃんと2つのインデックスを作成して別々に管理するように修正しています。よくこれまで動いてたな。

kazu: r55075 2016-05-19 21:23:57 +0900

Regexp#match? の rdoc 用コメントでサンプルの結果が間違っていたのを修正しています。