Index: eval.c
===================================================================
RCS file: /src/ruby/eval.c,v
retrieving revision 1.747
diff -u -p -r1.747 eval.c
--- eval.c	16 Dec 2004 15:01:48 -0000	1.747
+++ eval.c	27 Dec 2004 17:22:49 -0000
@@ -9174,8 +9174,8 @@ bmcall(args, method)
 {
     volatile VALUE a;
 
-    a = svalue_to_avalue(args);
-    return method_call(RARRAY(a)->len, RARRAY(a)->ptr, method);
+    a = args;
+    return method_call(RARRAY(args)->len, RARRAY(args)->ptr, method);
 }
 
 VALUE
@@ -9214,7 +9214,7 @@ method_proc(method)
     Data_Get_Struct(proc, struct BLOCK, bdata);
     bdata->body->nd_file = mdata->body->nd_file;
     nd_set_line(bdata->body, nd_line(mdata->body));
-    bdata->body->nd_state = YIELD_FUNC_SVALUE;
+    bdata->body->nd_state = YIELD_FUNC_AVALUE;
     bdata->flags |= BLOCK_FROM_METHOD;
 
     return proc;
