summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-06-30 18:34:09 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-06-30 18:34:09 +0000
commit8fca66d7ebb50f8b3d7af8a5550dbcaf12138a3a (patch)
tree4d3de33252b2b4fa56dff7dad91888653619eac7
parentbd26a9d656fcf617dd51ab1594cac9fd970bf9d7 (diff)
* class.c (Init_class_hierarchy): should name BasicObject
explicitly. * variable.c (rb_const_defined_0): should not check for superclasses as const_get. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32342 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog8
-rw-r--r--class.c1
-rw-r--r--variable.c2
3 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 79d858da6d..5c5e270b09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Fri Jul 1 03:28:25 2011 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * class.c (Init_class_hierarchy): should name BasicObject
+ explicitly.
+
+ * variable.c (rb_const_defined_0): should not check for
+ superclasses as const_get.
+
Fri Jul 1 03:24:03 2011 Tadayoshi Funaba <tadf@dotrb.org>
* ext/date/date_core.c: mathn is still alive (should die soon).
diff --git a/class.c b/class.c
index c6d011f2b6..d427393081 100644
--- a/class.c
+++ b/class.c
@@ -366,6 +366,7 @@ Init_class_hierarchy(void)
rb_cModule = boot_defclass("Module", rb_cObject);
rb_cClass = boot_defclass("Class", rb_cModule);
+ rb_const_set(rb_cObject, rb_intern("BasicObject"), rb_cBasicObject);
RBASIC(rb_cClass)->klass
= RBASIC(rb_cModule)->klass
= RBASIC(rb_cObject)->klass
diff --git a/variable.c b/variable.c
index ef7e3f6138..251fb3bafb 100644
--- a/variable.c
+++ b/variable.c
@@ -1829,7 +1829,7 @@ rb_const_defined_0(VALUE klass, ID id, int exclude, int recurse, int visibility)
return (int)Qfalse;
return (int)Qtrue;
}
- if (!recurse && klass != rb_cObject) break;
+ if (!recurse) break;
tmp = RCLASS_SUPER(tmp);
}
if (!exclude && !mod_retry && BUILTIN_TYPE(klass) == T_MODULE) {