From a64103fbfe0218dcd6f1997e80c60a887897a52d Mon Sep 17 00:00:00 2001 From: nagachika Date: Tue, 29 Mar 2011 12:56:40 +0000 Subject: [PATCH] * string.c (rb_String): Kernel#String should call to_str before to_s. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ object.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d4d739d21b..24c8696c55 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 29 21:51:31 2011 CHIKANAGA Tomoyuki + + * string.c (rb_String): Kernel#String should call to_str before to_s. + Tue Mar 29 10:28:08 2011 NAKAMURA Usaku * test/webrick/test_filehandler.rb diff --git a/object.c b/object.c index b25c0af1c2..fad726cd73 100644 --- a/object.c +++ b/object.c @@ -2360,7 +2360,10 @@ rb_num2dbl(VALUE val) VALUE rb_String(VALUE val) { - return rb_convert_type(val, T_STRING, "String", "to_s"); + VALUE tmp = rb_check_string_type(val); + if (NIL_P(tmp)) + tmp = rb_convert_type(val, T_STRING, "String", "to_s"); + return tmp; }