ruby-changes:12459
From: matz <ko1@a...>
Date: Fri, 17 Jul 2009 11:04:56 +0900 (JST)
Subject: [ruby-changes:12459] Ruby:r24159 (trunk): * array.c (recursive_join): raise ArgumentError for joining
matz 2009-07-17 11:04:37 +0900 (Fri, 17 Jul 2009) New Revision: 24159 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24159 Log: * array.c (recursive_join): raise ArgumentError for joining recursive array. * array.c (ary_join_1): ditto. * test/ruby/test_array.rb (TestArray#test_join2): test updated for recursive join. Modified files: trunk/ChangeLog trunk/array.c trunk/test/ruby/test_array.rb Index: array.c =================================================================== --- array.c (revision 24158) +++ array.c (revision 24159) @@ -1530,7 +1530,7 @@ VALUE result = arg[2]; if (recur) { - rb_str_buf_cat_ascii(result, "[...]"); + rb_raise(rb_eArgError, "recursive array join"); } else { ary_join_1(obj, ary, sep, 0, result); @@ -1573,8 +1573,7 @@ obj = val; ary_join: if (val == ary) { - val = rb_usascii_str_new2("[...]"); - goto str_join; + rb_raise(rb_eArgError, "recursive array join"); } else { VALUE args[3]; Index: ChangeLog =================================================================== --- ChangeLog (revision 24158) +++ ChangeLog (revision 24159) @@ -1,3 +1,13 @@ +Fri Jul 17 01:22:57 2009 Yukihiro Matsumoto <matz@r...> + + * array.c (recursive_join): raise ArgumentError for joining + recursive array. + + * array.c (ary_join_1): ditto. + + * test/ruby/test_array.rb (TestArray#test_join2): test updated for + recursive join. + Thu Jul 16 23:32:16 2009 Hidetoshi NAGAI <nagai@a...> * ext/tk/extconf.rb,ext/tk/config_list.in: ignore paths which includes Index: test/ruby/test_array.rb =================================================================== --- test/ruby/test_array.rb (revision 24158) +++ test/ruby/test_array.rb (revision 24159) @@ -1490,12 +1490,12 @@ def test_join2 a = [] a << a - assert_equal("[...]", a.join) + assert_raise(ArgumentError){a.join} def (a = Object.new).to_a [self] end - assert_equal("[...]", [a].join, '[ruby-core:24150]') + assert_raise(ArgumentError, '[ruby-core:24150]'){[a].join} assert_equal("12345", [1,[2,[3,4],5]].join) end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/