diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-08-08 15:34:03 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-08-08 15:34:03 +0000 |
commit | df359ef46299a90cc4d0960d0788ea499092d124 (patch) | |
tree | 714c584ef772e9e91c3e2339bbfe4ca05bd5a772 | |
parent | b1e7a961d2b728a66cf1c0a706de344b2b78e812 (diff) |
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
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | eval.c | 1 | ||||
-rw-r--r-- | eval_error.c | 8 | ||||
-rw-r--r-- | version.h | 2 |
4 files changed, 13 insertions, 4 deletions
@@ -1,3 +1,9 @@ +Wed Aug 5 12:39:23 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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 <mame@tsg.ne.jp> * lib/pp.rb (guard_inspect_key): untrust internal hash to prevent @@ -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(); @@ -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 |