diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-08-15 22:58:45 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-08-15 22:58:45 +0000 |
commit | e3f753650119c99f15ddd9dce2d22c6157f60769 (patch) | |
tree | c7e4dce4b2bb18b970eafe4449b3b3136068a200 /eval.c | |
parent | 92ca6c7773101a425bdc721cf56b281f08d64222 (diff) | |
download | ruby-e3f753650119c99f15ddd9dce2d22c6157f60769.tar.gz |
* eval.c (compile_error): must not clear ruby_sourcefile here.
(ruby-bugs:PR#364).
* eval.c (rb_longjmp): set ruby_sourcefile before making
backtrace.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -1282,7 +1282,6 @@ compile_error(at) { VALUE str; - ruby_sourcefile = 0; ruby_nerrs = 0; str = rb_str_buf_new2("compile error"); if (at) { @@ -3602,6 +3601,7 @@ rb_longjmp(tag, mesg) mesg = rb_exc_new(rb_eRuntimeError, 0, 0); } + ruby_set_current_source(); if (ruby_sourcefile && !NIL_P(mesg)) { at = get_backtrace(mesg); if (NIL_P(at)) { @@ -3618,7 +3618,6 @@ rb_longjmp(tag, mesg) VALUE e = ruby_errinfo; StringValue(e); - ruby_set_current_source(); fprintf(stderr, "Exception `%s' at %s:%d - %s\n", rb_class2name(CLASS_OF(ruby_errinfo)), ruby_sourcefile, ruby_sourceline, @@ -5036,7 +5035,6 @@ eval(self, src, scope, file, line) } if (file == 0) { ruby_set_current_source(); - ruby_current_node = 0; file = ruby_sourcefile; line = ruby_sourceline; } |