ruby-changes:15695
From: nobu <ko1@a...>
Date: Tue, 4 May 2010 18:51:43 +0900 (JST)
Subject: [ruby-changes:15695] Ruby:r27615 (trunk): * error.c (name_err_mesg_to_str): preserve encoding of inspection.
nobu 2010-05-04 18:51:27 +0900 (Tue, 04 May 2010) New Revision: 27615 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27615 Log: * error.c (name_err_mesg_to_str): preserve encoding of inspection. [ruby-core:29948] Modified files: trunk/ChangeLog trunk/error.c trunk/test/ruby/test_exception.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 27614) +++ ChangeLog (revision 27615) @@ -1,3 +1,8 @@ +Tue May 4 18:51:22 2010 Nobuyoshi Nakada <nobu@r...> + + * error.c (name_err_mesg_to_str): preserve encoding of inspection. + [ruby-core:29948] + Tue May 4 18:38:16 2010 Nobuyoshi Nakada <nobu@r...> * test/fileutils/test_fileutils.rb (test_copy_stream): Index: error.c =================================================================== --- error.c (revision 27614) +++ error.c (revision 27615) @@ -880,7 +880,7 @@ break; } if (desc && desc[0] != '#') { - d = rb_str_new2(desc); + d = d ? rb_str_dup(d) : rb_str_new2(desc); rb_str_cat2(d, ":"); rb_str_cat2(d, rb_obj_classname(obj)); } Index: test/ruby/test_exception.rb =================================================================== --- test/ruby/test_exception.rb (revision 27614) +++ test/ruby/test_exception.rb (revision 27615) @@ -304,4 +304,12 @@ end assert(!e.success?) end + + def test_nomethoderror + bug3237 = '[ruby-core:29948]' + str = "\u2600" + id = :"\u2604" + e = assert_raise(NoMethodError) {str.__send__(id)} + assert_equal("undefined method `#{id}' for #{str.inspect}:String", e.message, bug3237) + end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/