[前][次][番号順一覧][スレッド一覧]

ruby-changes:11718

From: nobu <ko1@a...>
Date: Thu, 7 May 2009 16:40:56 +0900 (JST)
Subject: [ruby-changes:11718] Ruby:r23361 (trunk): * array.c (rb_ary_flatten_bang): returns nil if nothing changed.

nobu	2009-05-07 16:40:11 +0900 (Thu, 07 May 2009)

  New Revision: 23361

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23361

  Log:
    * array.c (rb_ary_flatten_bang): returns nil if nothing changed.
      a patch from Marc-Andre Lafortune in [ruby-core:23382].

  Modified files:
    trunk/ChangeLog
    trunk/array.c
    trunk/test/ruby/test_array.rb

Index: array.c
===================================================================
--- array.c	(revision 23360)
+++ array.c	(revision 23361)
@@ -3338,7 +3338,7 @@
 
     rb_scan_args(argc, argv, "01", &lv);
     if (!NIL_P(lv)) level = NUM2INT(lv);
-    if (level == 0) return ary;
+    if (level == 0) return Qnil;
 
     result = flatten(ary, level, &mod);
     if (mod == 0) return Qnil;
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 23360)
+++ ChangeLog	(revision 23361)
@@ -1,3 +1,8 @@
+Thu May  7 16:40:09 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* array.c (rb_ary_flatten_bang): returns nil if nothing changed.
+	  a patch from Marc-Andre Lafortune in [ruby-core:23382].
+
 Thu May  7 14:26:14 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* array.c (rb_ary_sample): negative sample number is invalid.
Index: test/ruby/test_array.rb
===================================================================
--- test/ruby/test_array.rb	(revision 23360)
+++ test/ruby/test_array.rb	(revision 23361)
@@ -736,11 +736,14 @@
 
     a5 = @cls[ a1, @cls[], a3 ]
     assert_equal(@cls[1, 2, 3, 4, 5, 6], a5.flatten!)
+    assert_nil(a5.flatten!(0), '[ruby-core:23382]')
     assert_equal(@cls[1, 2, 3, 4, 5, 6], a5)
 
     assert_equal(@cls[], @cls[].flatten)
     assert_equal(@cls[],
                  @cls[@cls[@cls[@cls[],@cls[]],@cls[@cls[]],@cls[]],@cls[@cls[@cls[]]]].flatten)
+
+    assert_nil(@cls[].flatten!(0), '[ruby-core:23382]')
   end
 
   def test_flatten_with_callcc

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]