summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-04 13:54:13 +0000
committermame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-03-04 13:54:13 +0000
commit6bec06674c2a51af865a5d8d7c31d93799f98d59 (patch)
treed9b6adc39444d41591c5676008672b8113d7e51e /eval.c
parentae2065a285b8ba32e7323ecf5875100ba546c2d9 (diff)
* eval.c (setup_exception): avoid line number 0 when setting
$DEBUG=true. [ruby-dev:39116] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 6deed9cd30..a1deab6c8b 100644
--- a/eval.c
+++ b/eval.c
@@ -394,11 +394,16 @@ setup_exception(rb_thread_t *th, int tag, volatile VALUE mesg)
PUSH_TAG();
if ((status = EXEC_TAG()) == 0) {
RB_GC_GUARD(e) = rb_obj_as_string(e);
- if (file) {
+ if (file && line) {
warn_printf("Exception `%s' at %s:%d - %s\n",
rb_obj_classname(th->errinfo),
file, line, RSTRING_PTR(e));
}
+ else if (file) {
+ warn_printf("Exception `%s' at %s - %s\n",
+ rb_obj_classname(th->errinfo),
+ file, RSTRING_PTR(e));
+ }
else {
warn_printf("Exception `%s' - %s\n",
rb_obj_classname(th->errinfo),