ruby-trunk-changes r32822 - r32826

今日の主な変更は機能の変更の追加と、不要になっていた(?) GPL なコードの削除です。

naruse:r32822 2011-08-03 07:39:28 +0900

r32817 で encoding.c での型チェックを RB_TYPE_P() マクロに置き換えてたのを revert しています。 include/ruby/ruby.h の RB_TYPE_P の定義をみてみると、 type で分岐するようになっているので見た目はシンプルになるけど分岐が増えてしまうからのようです。

#define RB_TYPE_P(obj, type) ( \
        ((type) == T_FIXNUM) ? FIXNUM_P(obj) : \
        ((type) == T_TRUE) ? ((obj) == Qtrue) : \
        ((type) == T_FALSE) ? ((obj) == Qfalse) : \
        ((type) == T_NIL) ? ((obj) == Qnil) : \
        ((type) == T_UNDEF) ? ((obj) == Qundef) : \
        ((type) == T_SYMBOL) ? SYMBOL_P(obj) : \
        (!SPECIAL_CONST_P(obj) && BUILTIN_TYPE(obj) == (type)))

nobu:r32823 2011-08-03 07:46:34 +0900

しかしやっぱり RB_TYPE_P() を利用するように戻しています。直前の revert 前には条件に不要な !(否定)がついていたのでそれも修正しています。 [ruby-dev:44327] [Bug #5150]

shyouhei:r32824 2011-08-03 09:22:08 +0900

r32795 で XMLRPC のテストで起動する WEBrick の :BindAddress オプションに localhost を指定したのと同様に test/xmlrpc/webrick_testing.rb で起動している WEBrick サーバにも :BindAddress => "localhost" オプションを渡すようにしています。

nobu:r32825 2011-08-03 12:47:10 +0900

variable.c の check_before_mod_set() という関数を static に宣言するようにしています。

usa:r32826 2011-08-03 16:10:56 +0900

util.c の ruby_add_suffix() という関数を削除しています。去るものは追わず……というわけで詳しくなにをしていた関数かは見ていませんが Windows 版の ARGF でファイルパスの末尾に文字が付加されていくルールをエミュレート?したりしていたみたいですが、このコードはどこか他からもってきたようで、ライセンス関連のために削除しているようです。LEGAL ファイルからもこのコードについての記述を削除しています。