ruby-trunk-changes r31308 - r31311

今日は String#each_line の文字列サイズを越えてバッファを参照する可能性のある不具合修正などがありました。

nobu:r31308 2011-04-20 00:02:16 +0900

ruby-mode.el の修正で配列リテラルを含む行のインデントについての修正みたいです。

svn:r31309 2011-04-20 00:02:20 +0900

version.h の日付更新。

naruse:r31310 2011-04-20 14:43:27 +0900

String#each_line でデリミタが複数バイトの文字列だった時にデリミタとの比較の際に文字列の残りがデリミタ文字列よりも短かくないかのチェックが漏れていて、バッファを超えて参照する不具合があったので修正しています。 [ruby-core:35815] [Bug #4586]

tadf:r31311 2011-04-20 21:34:01 +0900

Date._strptime の "%Z", "%z" の処理は内部で正規表現を利用しており、2回目の match メソッドの呼び出しで前の Match オブジェクトの情報が上書きされるのを防ぐために rb_match_busy() という関数を呼んでフラグをセットしています。