summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
Diffstat (limited to 'object.c')
-rw-r--r--object.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/object.c b/object.c
index fa7c3b05c5..fa55391260 100644
--- a/object.c
+++ b/object.c
@@ -289,6 +289,7 @@ nil_plus(x, y)
VALUE x, y;
{
switch (TYPE(y)) {
+ case T_NIL:
case T_FIXNUM:
case T_FLOAT:
case T_BIGNUM:
@@ -297,7 +298,8 @@ nil_plus(x, y)
return y;
default:
TypeError("tried to add %s(%s) to nil",
- RSTRING(obj_as_string(y))->ptr, rb_class2name(CLASS_OF(y)));
+ STR2CSTR(rb_inspect(y)),
+ rb_class2name(CLASS_OF(y)));
}
/* not reached */
}
@@ -722,6 +724,9 @@ f_integer(obj, arg)
case T_STRING:
return str2inum(RSTRING(arg)->ptr, 0);
+ case T_NIL:
+ return INT2FIX(0);
+
default:
i = NUM2INT(arg);
}