ruby-changes:7401
From: naruse <ko1@a...>
Date: Fri, 29 Aug 2008 18:39:07 +0900 (JST)
Subject: [ruby-changes:7401] Ruby:r18920 (trunk): * encoding.c (enc_compatible_p): raise TypeError when argument is not
naruse 2008-08-29 18:37:00 +0900 (Fri, 29 Aug 2008) New Revision: 18920 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18920 Log: * encoding.c (enc_compatible_p): raise TypeError when argument is not String nor Regexp. Modified files: trunk/ChangeLog trunk/encoding.c Index: encoding.c =================================================================== --- encoding.c (revision 18919) +++ encoding.c (revision 18920) @@ -880,8 +880,14 @@ { rb_encoding *enc; - if (enc_check_encoding(str1) > 0 || enc_check_encoding(str2) > 0) - rb_raise(rb_eTypeError, "wrong argument type Encoding (expected String)"); + if (BUILTIN_TYPE(str1) != T_STRING && BUILTIN_TYPE(str1) != T_REGEXP) { + rb_raise(rb_eTypeError, "wrong argument type %s (expected String or Regexp)", + rb_obj_classname(str1)); + } + if (BUILTIN_TYPE(str2) != T_STRING && BUILTIN_TYPE(str2) != T_REGEXP) { + rb_raise(rb_eTypeError, "wrong argument type %s (expected String or Regexp)", + rb_obj_classname(str2)); + } if (!enc_capable(str1)) return Qnil; if (!enc_capable(str2)) return Qnil; enc = rb_enc_compatible(str1, str2); Index: ChangeLog =================================================================== --- ChangeLog (revision 18919) +++ ChangeLog (revision 18920) @@ -1,3 +1,8 @@ +Fri Aug 29 18:22:27 2008 NARUSE, Yui <naruse@r...> + + * encoding.c (enc_compatible_p): raise TypeError when argument is not + String nor Regexp. + Fri Aug 29 18:20:56 2008 NARUSE, Yui <naruse@r...> * string.c (rb_str_index_m): only regexp uses byte offset. -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/