From 2fe13f62efe400736bb078cafcebba5f5ba7b83b Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 19 Oct 2012 13:22:03 +0000 Subject: vm.c: pass through thrown objects * vm.c (rb_vm_jump_tag_but_local_jump): pass through thrown objects. [ruby-dev:46234] [Bug #7185] * vm_eval.c (rb_eval_cmd): if state is non-zero, val should be nil and rb_vm_jump_tag_but_local_jump() just jump tag. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37270 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'vm.c') diff --git a/vm.c b/vm.c index ae201dcd7f..f8d59ba563 100644 --- a/vm.c +++ b/vm.c @@ -916,7 +916,7 @@ rb_vm_jump_tag_but_local_jump(int state, VALUE val) { if (val != Qnil) { VALUE exc = rb_vm_make_jump_tag_but_local_jump(state, val); - rb_exc_raise(exc); + if (!NIL_P(exc)) rb_exc_raise(exc); } JUMP_TAG(state); } -- cgit v1.2.3