From f53a94c83124ce44a53e4262cdd30ffa53016f1a Mon Sep 17 00:00:00 2001 From: ko1 Date: Wed, 2 May 2007 02:26:03 +0000 Subject: * compile.c: use Qtrue instead of 2. * vm.c, insns.def: support "lambda" calling convention. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- compile.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'compile.c') diff --git a/compile.c b/compile.c index 7f702b93a7..a44dbafd30 100644 --- a/compile.c +++ b/compile.c @@ -3702,6 +3702,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) p = p->nd_next, argc++) { /* count argc */ } + if (argc == 1) { COMPILE(args, "yield with an arg", node->nd_head); } @@ -3713,7 +3714,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) } else { if (nd_type(node->nd_head) == NODE_ARGSCAT) { - if (node->nd_state == 2) { + if (node->nd_state == Qtrue) { flag |= VM_CALL_ARGS_SPLAT_BIT; } @@ -3726,7 +3727,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped) node->nd_head->nd_body); } else if (nd_type(node->nd_head) == NODE_SPLAT) { - if (node->nd_state == 2) { + if (node->nd_state == Qtrue) { flag |= VM_CALL_ARGS_SPLAT_BIT; } -- cgit v1.2.3