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

ruby-changes:25486

From: marcandre <ko1@a...>
Date: Thu, 8 Nov 2012 04:46:28 +0900 (JST)
Subject: [ruby-changes:25486] marcandRe: r37543 (trunk): * include/ruby/intern.h: Restore rb_enumeratorize as it was before r37497

marcandre	2012-11-08 04:46:16 +0900 (Thu, 08 Nov 2012)

  New Revision: 37543

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

  Log:
    * include/ruby/intern.h: Restore rb_enumeratorize as it was before r37497
      and introduce rb_enumeratorize_with_size instead. [#7302]
    
    * enumerator.c: ditto.

  Modified files:
    trunk/ChangeLog
    trunk/enumerator.c
    trunk/include/ruby/intern.h

Index: include/ruby/intern.h
===================================================================
--- include/ruby/intern.h	(revision 37542)
+++ include/ruby/intern.h	(revision 37543)
@@ -201,10 +201,11 @@
 /* enum.c */
 VALUE rb_enum_values_pack(int, VALUE*);
 /* enumerator.c */
-VALUE rb_enumeratorize(VALUE, VALUE, int, VALUE *, VALUE (*)(ANYARGS));
+VALUE rb_enumeratorize(VALUE, VALUE, int, VALUE *);
+VALUE rb_enumeratorize_with_size(VALUE, VALUE, int, VALUE *, VALUE (*)(ANYARGS));
 #define RETURN_SIZED_ENUMERATOR(obj, argc, argv, size_fn) do {		\
 	if (!rb_block_given_p())					\
-	    return rb_enumeratorize((obj), ID2SYM(rb_frame_this_func()),\
+	    return rb_enumeratorize_with_size((obj), ID2SYM(rb_frame_this_func()),\
 				    (argc), (argv), (size_fn));		\
     } while (0)
 #define RETURN_ENUMERATOR(obj, argc, argv) RETURN_SIZED_ENUMERATOR(obj, argc, argv, 0)
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37542)
+++ ChangeLog	(revision 37543)
@@ -1,3 +1,10 @@
+Thu Nov  8 04:45:21 2012  Marc-Andre Lafortune  <ruby-core@m...>
+
+	* include/ruby/intern.h: Restore rb_enumeratorize as it was before
+	  r37497 and introduce rb_enumeratorize_with_size instead. [#7302]
+
+	* enumerator.c: ditto.
+
 Wed Nov  7 15:22:37 2012  NARUSE, Yui  <naruse@r...>
 
 	* numeric.c (ruby_float_step): fix r37514: it yielded with NaN
@@ -16,7 +23,7 @@
 
 	* eval.c (rb_mod_refine): set RMODULE_IS_REFINEMENT to a created
 	  refinement module, and don't override method_added.
-	
+
 	* vm_method.c (rb_method_entry_make): check redefinition of
 	  optimized methods when a method is added to a refinement module.
 	  [ruby-core:48970] [Bug #7290]
Index: enumerator.c
===================================================================
--- enumerator.c	(revision 37542)
+++ enumerator.c	(revision 37543)
@@ -224,7 +224,7 @@
 	--argc;
 	meth = *argv++;
     }
-    enumerator = rb_enumeratorize(obj, meth, argc, argv, 0);
+    enumerator = rb_enumeratorize_with_size(obj, meth, argc, argv, 0);
     if (rb_block_given_p()) {
 	enumerator_ptr(enumerator)->size = rb_block_proc();
     }
@@ -426,9 +426,18 @@
     return obj;
 }
 
+/*
+ * For backwards compatibility; use rb_enumeratorize_with_size
+ */
 VALUE
-rb_enumeratorize(VALUE obj, VALUE meth, int argc, VALUE *argv, VALUE (*size_fn)(ANYARGS))
+rb_enumeratorize(VALUE obj, VALUE meth, int argc, VALUE *argv)
 {
+    return rb_enumeratorize_with_size(obj, meth, argc, argv, 0);
+}
+
+VALUE
+rb_enumeratorize_with_size(VALUE obj, VALUE meth, int argc, VALUE *argv, VALUE (*size_fn)(ANYARGS))
+{
     return enumerator_init(enumerator_allocate(rb_cEnumerator), obj, meth, argc, argv, size_fn, Qnil);
 }
 

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

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