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 --- test/ruby/test_exception.rb | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'test/ruby/test_exception.rb') diff --git a/test/ruby/test_exception.rb b/test/ruby/test_exception.rb index 17492706ed..a39e2c7723 100644 --- a/test/ruby/test_exception.rb +++ b/test/ruby/test_exception.rb @@ -104,7 +104,16 @@ class TestException < Test::Unit::TestCase end false }) + end + def test_catch_throw_in_require + bug7185 = '[ruby-dev:46234]' + t = Tempfile.open(["dep", ".rb"]) + t.puts("throw :extdep, 42") + t.close + assert_equal(42, catch(:extdep) {require t.path}, bug7185) + ensure + t.close! if t end def test_else_no_exception -- cgit v1.2.3