From ed5208d851e5cfc846a4b9c70c466b0bdb0a8cc5 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 27 Oct 2003 10:19:57 +0000 Subject: [PATCH] * eval.c (rb_longjmp): ignore reentering error while warning. [ruby-dev:21730] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ eval.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) 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); }