diff --git a/ChangeLog b/ChangeLog index 23da1f6a2d..23ff975a56 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,17 +11,6 @@ Wed Dec 11 15:36:15 2013 Aman Gupta to optimize Hash#[]= and Array#[]= when called with Fixnum argument. [Bug #9227] [ruby-core:58956] -Wed Dec 11 12:38:17 2013 Koichi Sasada - - * eval.c (rb_raise_jump): pop frame after setup exception. - Patches by deivid (David Rodriguez). [Bug #8886] - - * test/minitest/test_minitest_unit.rb: catch up this change. - - * test/ruby/test_backtrace.rb: ditto. - - * test/ruby/test_settracefunc.rb: ditto. - Wed Dec 11 04:54:03 2013 Eric Hodel * lib/rubygems: Update to RubyGems master ec8ed22. Notable changes diff --git a/eval.c b/eval.c index 7e64baa938..873d549739 100644 --- a/eval.c +++ b/eval.c @@ -688,10 +688,10 @@ rb_raise_jump(VALUE mesg) VALUE self = cfp->self; ID mid = cfp->me->called_id; - setup_exception(th, TAG_RAISE, mesg); - th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp); + setup_exception(th, TAG_RAISE, mesg); + EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, self, mid, klass, Qnil); rb_thread_raised_clear(th); JUMP_TAG(TAG_RAISE); diff --git a/test/minitest/test_minitest_unit.rb b/test/minitest/test_minitest_unit.rb index f8c7028bce..0f29614e87 100644 --- a/test/minitest/test_minitest_unit.rb +++ b/test/minitest/test_minitest_unit.rb @@ -296,7 +296,6 @@ class TestMiniTestRunner < MetaMetaMetaTestCase 1) Error: ##test_error: RuntimeError: unhandled exception - FILE:LINE:in \`raise\' FILE:LINE:in \`test_error\' 2 tests, 1 assertions, 0 failures, 1 errors, 0 skips @@ -324,7 +323,6 @@ class TestMiniTestRunner < MetaMetaMetaTestCase 1) Error: ##test_something: RuntimeError: unhandled exception - FILE:LINE:in \`raise\' FILE:LINE:in \`teardown\' 1 tests, 1 assertions, 0 failures, 1 errors, 0 skips @@ -1212,7 +1210,6 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase Class: Message: <\"icky\"> ---Backtrace--- - FILE:LINE:in \`raise\' FILE:LINE:in \`test_assert_raises_triggered_different\' --------------- EOM @@ -1236,7 +1233,6 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase Class: Message: <\"icky\"> ---Backtrace--- - FILE:LINE:in \`raise\' FILE:LINE:in \`test_assert_raises_triggered_different_msg\' --------------- EOM @@ -1283,7 +1279,6 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase Class: Message: <\"AnError\"> ---Backtrace--- - FILE:LINE:in \`raise\' FILE:LINE:in \`test_assert_raises_triggered_subclass\' --------------- EOM diff --git a/test/ruby/test_backtrace.rb b/test/ruby/test_backtrace.rb index e1491e9c63..91dec4a943 100644 --- a/test/ruby/test_backtrace.rb +++ b/test/ruby/test_backtrace.rb @@ -10,7 +10,7 @@ class TestBacktrace < Test::Unit::TestCase e.backtrace end }.resume - assert_equal(2, bt.size) + assert_equal(1, bt.size) assert_match(/.+:\d+:.+/, bt[0]) end diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb index 42f1589a18..1de7b901b0 100644 --- a/test/ruby/test_settracefunc.rb +++ b/test/ruby/test_settracefunc.rb @@ -257,7 +257,7 @@ class TestSetTraceFunc < Test::Unit::TestCase events.shift) assert_equal(["c-return", 5, :backtrace, Exception], events.shift) - assert_equal(["raise", 5, :raise, Kernel], + assert_equal(["raise", 5, :test_raise, TestSetTraceFunc], events.shift) assert_equal(["c-return", 5, :raise, Kernel], events.shift) @@ -517,7 +517,7 @@ class TestSetTraceFunc < Test::Unit::TestCase [:c_return,20, "xyzzy", Exception, :exception, RuntimeError, :outer, raised_exc], [:c_call, 20, "xyzzy", Exception, :backtrace, raised_exc, :outer, :nothing], [:c_return,20, "xyzzy", Exception, :backtrace, raised_exc, :outer, nil], - [:raise, 20, "xyzzy", Kernel, :raise, self, :outer, raised_exc], + [:raise, 20, "xyzzy", TestSetTraceFunc, :trace_by_tracepoint, self, :outer, raised_exc], [:c_return,20, "xyzzy", Kernel, :raise, self, :outer, nil], [:c_call, 20, "xyzzy", Module, :===, RuntimeError,:outer, :nothing], [:c_return,20, "xyzzy", Module, :===, RuntimeError,:outer, true],