summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-08 16:47:47 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-08 16:47:47 +0000
commit76a5858b9129efa03e16c38830f8d47a419024b8 (patch)
treebbce7743477820748f940f5770e05fe2d486f8b6
parent6201cf08a6e5bcd45ddf5d73e09b132375f3d68e (diff)
downloadruby-76a5858b9129efa03e16c38830f8d47a419024b8.tar.gz
ruby-76a5858b9129efa03e16c38830f8d47a419024b8.tar.xz
ruby-76a5858b9129efa03e16c38830f8d47a419024b8.zip
* eval.c (rb_make_exception): single argument to raise may be
string compatible object. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--eval.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 00c9d98b1..d357bb6f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -72,6 +72,11 @@ Sat Dec 6 14:35:06 2008 NARUSE, Yui <naruse@ruby-lang.org>
* pack.c (pack_unpack): ditto.
+Fri Dec 5 22:56:24 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * eval.c (rb_make_exception): single argument to raise may be
+ string compatible object.
+
Fri Dec 5 21:45:45 2008 Tadayoshi Funaba <tadf@dotrb.org>
* rational.c (nurat_{to_s,inspect}): performance improvement.
diff --git a/eval.c b/eval.c
index 636c22556..9c99711ce 100644
--- a/eval.c
+++ b/eval.c
@@ -477,13 +477,13 @@ rb_make_exception(int argc, VALUE *argv)
mesg = Qnil;
switch (argc) {
case 0:
- mesg = Qnil;
break;
case 1:
if (NIL_P(argv[0]))
break;
- if (TYPE(argv[0]) == T_STRING) {
- mesg = rb_exc_new3(rb_eRuntimeError, argv[0]);
+ mesg = rb_check_string_type(argv[0]);
+ if (!NIL_P(mesg)) {
+ mesg = rb_exc_new3(rb_eRuntimeError, mesg);
break;
}
n = 0;