summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-19 08:19:34 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-19 08:19:34 +0000
commitfe9c4e615b69d06db554cf1116560b353b96a9ed (patch)
treeb9ddf57b6dc56fb6d7c9af76db2aa9ffe06cfb32 /eval.c
parent440fec216c712076701ef81c126c96e09c5a1325 (diff)
merge revision(s) 20578:
* eval.c (rb_yield_0): Qundef means no argument. [ruby-Bugs-22525] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@22442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index bd90b4041f..623fb7c9db 100644
--- a/eval.c
+++ b/eval.c
@@ -5060,7 +5060,7 @@ rb_yield_0(val, self, klass, flags, avalue)
switch (node->nd_state) {
case YIELD_FUNC_LAMBDA:
if (!avalue) {
- val = rb_ary_new3(1, val);
+ val = (val == Qundef) ? rb_ary_new2(0) : rb_ary_new3(1, val);
}
break;
case YIELD_FUNC_AVALUE: