ruby-trunk-changes r30763 - r30775

Psych による YAML デコード時の正規表現のオプションの復元の不具合修正と Zlib::GzipReader#unused の不具合修正が入っています。

tenderlove:r30763 2011-02-03 07:05:15 +0900

psych が n オプション(encoding option)のついた正規表現の復元に失敗する不具合を修正。[Bug #4342] [ruby-core:34969]

svn:r30764 2011-02-03 07:05:17 +0900

version.h の日付更新。

tenderlove:r30765 2011-02-03 07:18:14 +0900

正規表現の n オプションは対応する定数が Regexp の下に定義されていなかったので、Regexp::NOENCODING を追加。

tenderlove:r30766 2011-02-03 07:22:26 +0900

r30763 でオプションの復元時にフラグの値をじかに書いていたのを r30765 で追加した Regexp::NOENCODING を利用するように修正。

naruse:r30768 2011-02-03 09:38:55 +0900

関数マクロ rb_enc_step_back() が onigenc_step_back() に渡す第4引数は int にキャストするようにしています。おそらく警告除去?

drbrain:r30769 2011-02-03 10:46:01 +0900

ext/-test- のビルド時に自動生成されるファイルを svn:ignore property に追加してl -text- 全体を ignore させていたのはやめています。

naruse:r30770 2011-02-03 16:37:22 +0900

stdlib.h と stddef.h の include 位置を ruby.h から defines.h へ移動。また missing.h で stddef.h を include する時に HAVE_STDDEF_H をチェックしないようにしています。stddef.h は環境に依存しない(常にある)? そんな気がしますね。けど stdlib.h は HAVE_STDLIB_H をチェックしているので stdlib.h が存在しない環境っていうのはあるんですね。

naruse:r30771 2011-02-03 16:37:25 +0900

enc/shift_sjis.c で int 型の戻り値を期待しているところで pointer の演算をしているところにキャストを追加。また enc/utf_*.c で pointer 同士の差を格納する変数に ptrdiff_t を利用するようにしています。

naruse:r30772 2011-02-03 18:35:55 +0900

Zlib::GzipReader#unused が内部的な文字列(所属するクラスを示す klass が 0 にしてある)を返してしまうことによる不具合を、rb_str_new_shared() でコピーしたものを返すようにしています。[ruby-core:35057]

naruse:r30773 2011-02-03 18:56:52 +0900

で rb_str_new_shared() は元と klass を共有してしまうので、rb_str_resurrect() という klass を rb_cString(String クラスを格納している CRuby インタプリタ内の変数)に指定する関数を使うことで内部用ではない文字列を明示的に作って返すようにしています。

akr:r30774 2011-02-03 20:05:13 +0900

ext/curses/curses.c の利用されていない関数マクロ CHECK() の定義を削除しています。