diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-08-14 03:56:28 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1998-08-14 03:56:28 +0000 |
commit | 39ac1d7c22072f2d520738098692bdbce2f380df (patch) | |
tree | 97866a3781af260ce47912f61a6190b9d72270f4 /eval.c | |
parent | c086e784e200dc555e3f6d0ddb2edfdffd4f166d (diff) |
*** empty log message ***
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/v1_1r@286 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1554,6 +1554,8 @@ call_trace_func(event, file, line, self, id) int state; volatile VALUE trace; struct FRAME *prev; + char *file_save = sourcefile; + int line_save = sourceline; if (!trace_func) return; @@ -1585,6 +1587,8 @@ call_trace_func(event, file, line, self, id) thread_critical--; #endif if (!trace_func) trace_func = trace; + sourceline = line_save; + sourcefile = file_save; if (state) JUMP_TAG(state); } @@ -2780,7 +2784,7 @@ rb_longjmp(tag, mesg) errinfo = mesg; } - if (debug && !NIL_P(errinfo)) { + if (debug && !NIL_P(errinfo) && !obj_is_kind_of(errinfo, eSystemExit)) { fprintf(stderr, "Exception `%s' at %s:%d\n", rb_class2name(CLASS_OF(errinfo)), sourcefile, sourceline); |