From df359ef46299a90cc4d0960d0788ea499092d124 Mon Sep 17 00:00:00 2001 From: yugui Date: Sat, 8 Aug 2009 15:34:03 +0000 Subject: [PATCH] merges r24401 from trunk into ruby_1_9_1. -- * eval.c (rb_longjmp): reset raised flag before fatal error. * eval_error.c (error_print): file can be NULL. line can be 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@24467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ eval.c | 1 + eval_error.c | 8 +++++--- version.h | 2 +- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 10307b8678..585e2d7784 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Wed Aug 5 12:39:23 2009 Nobuyoshi Nakada + + * eval.c (rb_longjmp): reset raised flag before fatal error. + + * eval_error.c (error_print): file can be NULL. line can be 0. + Wed Aug 5 01:38:27 2009 Yusuke Endoh * lib/pp.rb (guard_inspect_key): untrust internal hash to prevent diff --git a/eval.c b/eval.c index bd4d1228d6..3cbc60f47c 100644 --- a/eval.c +++ b/eval.c @@ -345,6 +345,7 @@ rb_longjmp(int tag, VALUE mesg) if (rb_thread_set_raised(th)) { th->errinfo = exception_error; + rb_thread_reset_raised(th); JUMP_TAG(TAG_FATAL); } diff --git a/eval_error.c b/eval_error.c index 622ae4fdd9..65f1f4a7b7 100644 --- a/eval_error.c +++ b/eval_error.c @@ -87,10 +87,12 @@ error_print(void) if (NIL_P(errat)) { const char *file = rb_sourcefile(); int line = rb_sourceline(); - if (file) - warn_printf("%s:%d", file, line); - else + if (!file) warn_printf("%d", line); + else if (!line) + warn_printf("%s", file); + else + warn_printf("%s:%d", file, line); } else if (RARRAY_LEN(errat) == 0) { error_pos(); diff --git a/version.h b/version.h index 4cd151c7a0..1fdfd6999e 100644 --- a/version.h +++ b/version.h @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.1" -#define RUBY_PATCHLEVEL 271 +#define RUBY_PATCHLEVEL 272 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1