aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-19 08:49:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-11-19 08:49:42 +0000
commita2946d85ec24abd6693a366b78f19cb03acf81b2 (patch)
tree14163d14987cd38f4e00fa48cd3b6833b41b6d0a
parent7a978073c9160e6ed1c706aaf034b2c4c4d104e1 (diff)
downloadruby-a2946d85ec24abd6693a366b78f19cb03acf81b2.tar.gz
* object.c (rb_class_superclass): should not raise exception for
BasicObject. [ruby-Bugs-15668] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--object.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 39d885dcea..a13d726ff7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Nov 19 17:48:30 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * object.c (rb_class_superclass): should not raise exception for
+ BasicObject. [ruby-Bugs-15668]
+
Mon Nov 19 16:04:08 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* array.c (rb_ary_permutation): gives all permutations of elements
diff --git a/object.c b/object.c
index edec861a20..0ecb408bae 100644
--- a/object.c
+++ b/object.c
@@ -1410,6 +1410,7 @@ rb_class_superclass(VALUE klass)
VALUE super = RCLASS_SUPER(klass);
if (!super) {
+ if (klass == rb_cBasicObject) return Qnil;
rb_raise(rb_eTypeError, "uninitialized class");
}
while (TYPE(super) == T_ICLASS) {