diff --git a/ChangeLog b/ChangeLog index db8dc05d9a..229fa780c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 27 19:19:55 2003 Nobuyoshi Nakada + + * eval.c (rb_longjmp): ignore reentering error while warning. + [ruby-dev:21730] + Mon Oct 27 00:23:50 2003 Hidetoshi NAGAI * ext/tcltklib/tcltklib.c (ip_ruby): bug fix on Win : hang-up when diff --git a/eval.c b/eval.c index 06590c0dde..59fe9c378b 100644 --- a/eval.c +++ b/eval.c @@ -3949,7 +3949,10 @@ rb_longjmp(tag, mesg) RSTRING(e)->ptr); } POP_TAG(); - if (status) { + if (status == TAG_FATAL && ruby_errinfo == exception_error) { + ruby_errinfo = Qnil; + } + else if (status) { thread_reset_raised(); JUMP_TAG(status); }