diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | eval.c | 7 |
2 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Wed Jun 6 10:58:23 2007 Koichi Sasada <ko1@atdot.net> + + * eval.c (rb_yield): fix to check Qundef. + Wed Jun 6 10:57:45 2007 Koichi Sasada <ko1@atdot.net> * test/ruby/test_continuation.rb: add a test for last commit. @@ -914,7 +914,12 @@ VALUE rb_yield(VALUE val) { volatile VALUE tmp = val; - tmp = rb_yield_0(1, &val); + if (val == Qundef) { + tmp = rb_yield_0(0, 0); + } + else { + tmp = rb_yield_0(1, &val); + } return tmp; } |