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

ruby-changes:13326

From: nobu <ko1@a...>
Date: Fri, 25 Sep 2009 13:06:06 +0900 (JST)
Subject: [ruby-changes:13326] Ruby:r25090 (trunk): * proc.c (missing_wrap): new_arg is already given if argc > 1.

nobu	2009-09-25 13:05:51 +0900 (Fri, 25 Sep 2009)

  New Revision: 25090

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

  Log:
    * proc.c (missing_wrap): new_arg is already given if argc > 1.

  Modified files:
    trunk/ChangeLog
    trunk/proc.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 25089)
+++ ChangeLog	(revision 25090)
@@ -1,5 +1,7 @@
-Fri Sep 25 13:04:46 2009  Nobuyoshi Nakada  <nobu@r...>
+Fri Sep 25 13:05:50 2009  Nobuyoshi Nakada  <nobu@r...>
 
+	* proc.c (missing_wrap): new_arg is already given if argc > 1.
+
 	* proc.c (mnew): fix for instance method of Module, BasicObjec
 	  and subclass of a class which overrides respond_to_missing?.
 	  based on a patch from Nikolai Lugovoi <nlugovoi AT gmail.com> in
Index: proc.c
===================================================================
--- proc.c	(revision 25089)
+++ proc.c	(revision 25090)
@@ -884,13 +884,12 @@
 }
 
 static VALUE
-missing_wrap(VALUE dummy, VALUE args, int argc, VALUE *argv)
+missing_wrap(VALUE new_args, VALUE args, int argc, VALUE *argv)
 {
-    VALUE new_args = rb_ary_new4(argc, argv);
     VALUE obj = RARRAY_PTR(args)[0];
     VALUE sym = RARRAY_PTR(args)[1];
-    
 
+    if (argc <= 1) new_args = rb_ary_new4(argc, argv);
     rb_ary_unshift(new_args, sym);
     return rb_funcall2(obj, rb_intern("method_missing"), 
 		       check_argc(RARRAY_LEN(new_args)), RARRAY_PTR(new_args));

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

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