diff options
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | eval.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Mon Dec 8 13:51:41 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * eval.c (rb_yield_0): Qundef means no argument. [ruby-Bugs-22525] + Sun Dec 7 23:47:37 2008 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (LIBPATHFLAG): use numbered specifier if RPATHFLAG @@ -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: |
