ruby-trunk-changes r42717 - r42725

今日は Module#prepend に伴なうメソッド探索の不具合修正、拡張ライブラリ psych や zlib の不具合修正など bugfix がいくつかありました。

tenderlove:r42717 2013-08-29 02:42:38 +0900

拡張ライブラリ psych での YAML のパース時に浮動小数点数をマッチさせる正規表現で "-." や "+." のような文字列もマッチしてしまっていたので、それらは文字列として扱うようにしています。 https://github.com/tenderlove/psych/issues/156

svn:r42718 2013-08-29 02:42:44 +0900

version.h の日付更新。

tenderlove:r42719 2013-08-29 02:55:50 +0900

拡張ライブラリ psych に Tempfile.create が未定義の時に実装を追加しています。 Tempfile.create は trunk には既に実装されているのですが、psych は gem パッケージとしても配布されているので古い ruby と一緒に使うときに Tempfile.create がないと動かないのでその時のために自前で持っておくようにしているようです。

drbrain:r42720 2013-08-29 05:36:21 +0900

拡張ライブラリ zlib の Zlib::Inflate.inflate で不正なバイトストリームを読むと SEGV することがあった不具合を修正しています。 [ruby-core:56848] [Bug #8829]

nobu:r42721 2013-08-29 09:54:07 +0900

r42717 の ChangeLog エントリの行末の空白除去。

nobu:r42722 2013-08-29 10:20:24 +0900

r36584 での classname() の変更に .gdbinit のコマンドを追随させてクラス名が正しく取得できるようにしています。

nobu:r42723 2013-08-29 10:20:28 +0900

.gdbinit で定義している gdb のコマンド rp_class と rb_ancestors でクラス名を表示するようにして出力がわかりやすくなるようにしています。

nobu:r42724 2013-08-29 17:03:23 +0900

親クラスで定義されているメソッドの可視性だけを変更している Class/Module で Module を prepend しているとメソッド探索時に RCLASS_ORIGIN() を考慮していなかったため割り込みもきかない無限ループに陥ってしまっていた不具合を修正しています。久しぶりに Module#prepend 関連の不具合修正ですね。 [ruby-core:54105] [Bug #8238]

ko1:r42725 2013-08-29 18:12:25 +0900

struct.c の公開 API に rb_struct_define_without_accessor_under() という Struct によるクラスを別の Module/Class による名前空間の下に生成する関数を追加しています。チケットの参照とかないですがなにに使う用なんでしょうか。