ruby-trunk-changes r33793 - r33796

nobu:r33793 2011-11-20 04:01:49 +0900

make で gperf を用いて自動生成される enc/unicode/name2ctype.h というヘッダに #ifdef USE_UNICODE_PROPERTIES が重複して出力されていたのを修正しています。

svn:r33794 2011-11-20 04:02:02 +0900

version.h の日付更新。

akr:r33795 2011-11-20 10:21:01 +0900

lib/set.rb で initialize の再定義の警告を抑制するために、再定義前に old_init というメソッドに alias した上でこれを remove_method で削除しているのですが、この方法で警告が抑制できるかどうかは GC のタイミングに依存するそうなので、まず remove_method での old_init の削除をやめています。 [ruby-dev:44892]
警告を出力している部分(vm_method.c の rb_method_entry_make())を見ると、元の定義の method entry に alias_count というメンバがあって、これが 0 でなければ警告を出力しないのですが、alias したメソッドをすぐに remove_method で消して GC で回収されてしまうと、結局 alias した method entry も削除されて alias_count が 0 に戻ってしまうからでしょう、きっと。

akr:r33796 2011-11-20 11:02:14 +0900

というわけで、remove_method での alias したメソッドの削除は initialize の再定義が行なわれる部分の後に実行するように追加し直しています。 [ruby-dev:44892]