diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-17 19:27:24 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-17 19:27:24 +0000 |
commit | 00e4fd42f36fa23de04cccb9cea3c3e5d14c9ae9 (patch) | |
tree | 0012d083c6af5721147cdd7ed7d21d260f38b811 /vm.c | |
parent | e2f37fb9c6c9df54b2be78d09de00aa7da0d694f (diff) | |
download | ruby-00e4fd42f36fa23de04cccb9cea3c3e5d14c9ae9.tar.gz |
* vm.c, vm_insnhelper.c: fix escape process with "braek" and "return"
syntax in "lambda". [ ruby-Bugs-19304 ], [ruby-core:17164]
* KNOWNBUGS.rb, bootstraptest/test_proc.rb: add/move solved test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -525,9 +525,9 @@ vm_invoke_proc(rb_thread_t *th, rb_proc_t *proc, VALUE self, if (state == TAG_RETURN && proc->is_lambda) { VALUE err = th->errinfo; VALUE *escape_dfp = GET_THROWOBJ_CATCH_POINT(err); - VALUE *cdfp = proc->block.dfp; - if (escape_dfp == cdfp) { + if (escape_dfp == cfp->dfp) { + printf("ok\n"); state = 0; th->errinfo = Qnil; th->cfp = cfp; |