merges r24574 from trunk into ruby_1_9_1.

--
* vm_insnhelper.c (vm_call_cfunc): ensure hook c-return.
  [Bug #1588]

* test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise):
  follow above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@25536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
yugui 2009-10-28 14:15:16 +00:00
parent 60a8777de7
commit 3b6e807a01
4 changed files with 12 additions and 2 deletions

View file

@ -1,3 +1,11 @@
Tue Aug 18 11:37:24 2009 wanabe <s.wanabe@gmail.com>
* vm_insnhelper.c (vm_call_cfunc): ensure hook c-return.
[Bug #1588]
* test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise):
follow above.
Mon Aug 17 14:35:03 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> Mon Aug 17 14:35:03 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (lex_get_str, lex_io_gets, rb_parser_compile_string): * parse.y (lex_get_str, lex_io_gets, rb_parser_compile_string):

View file

@ -167,6 +167,8 @@ class TestSetTraceFunc < Test::Unit::TestCase
events.shift) events.shift)
assert_equal(["raise", 5, :test_raise, TestSetTraceFunc], assert_equal(["raise", 5, :test_raise, TestSetTraceFunc],
events.shift) events.shift)
assert_equal(["c-return", 5, :raise, Kernel],
events.shift)
assert_equal(["c-call", 6, :===, Module], assert_equal(["c-call", 6, :===, Module],
events.shift) events.shift)
assert_equal(["c-return", 6, :===, Module], assert_equal(["c-return", 6, :===, Module],

View file

@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.1" #define RUBY_VERSION "1.9.1"
#define RUBY_PATCHLEVEL 295 #define RUBY_PATCHLEVEL 296
#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1 #define RUBY_VERSION_TEENY 1

View file

@ -365,7 +365,7 @@ vm_call_cfunc(rb_thread_t *th, rb_control_frame_t *reg_cfp,
EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, id, klass); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, id, klass);
TH_PUSH_TAG(th); TH_PUSH_TAG(th);
if (th->event_flags & RUBY_EVENT_C_RETURN) { if (th->event_flags & (RUBY_EVENT_C_RETURN | RUBY_EVENT_VM)) {
state = TH_EXEC_TAG(); state = TH_EXEC_TAG();
} }
else { else {