summaryrefslogtreecommitdiff
path: root/error.c
diff options
context:
space:
mode:
authorryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-12 22:05:05 +0000
committerryan <ryan@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-01-12 22:05:05 +0000
commit36a0e432f26cc3e52706c7be983a4c5f66844d29 (patch)
tree18d2ef1d273eec128ac12e9a19d29da4c318d549 /error.c
parentb404cbac7723558f42865ff78ed79aa313a72d9e (diff)
Exception#to_s should actually call to_s.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'error.c')
-rw-r--r--error.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/error.c b/error.c
index b58f0f76d5..217740f9d9 100644
--- a/error.c
+++ b/error.c
@@ -522,9 +522,12 @@ static VALUE
exc_to_s(VALUE exc)
{
VALUE mesg = rb_attr_get(exc, rb_intern("mesg"));
+ VALUE r = Qnil;
if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc));
- return rb_String(mesg);
+ r = rb_String(mesg);
+ OBJ_INFECT(r, exc);
+ return r;
}
/*