summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--class.c2
-rw-r--r--eval.c2
3 files changed, 10 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index bd9cf125cf..505a3e35f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sun Mar 1 03:04:19 2009 Akinori MUSHA <knu@iDaemons.org>
+
+ * class.c (rb_singleton_class_clone): Qnil must be used for a null
+ class reference when we use NIL_P() to check class reference
+ validity. The bug was exposed by the spec test of Sequel.
+
+ * eval.c (ruby_init): Use NEW_CREF().
+
Sat Feb 28 18:05:58 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (rb_eval): needs to guard intermediate string objects.
diff --git a/class.c b/class.c
index 80f57a1622..054be60d53 100644
--- a/class.c
+++ b/class.c
@@ -153,7 +153,7 @@ rb_singleton_class_clone(obj)
data.klass = obj;
break;
default:
- data.klass = 0;
+ data.klass = Qnil;
break;
}
diff --git a/eval.c b/eval.c
index cf62314230..2974bb252a 100644
--- a/eval.c
+++ b/eval.c
@@ -1434,7 +1434,7 @@ ruby_init()
rb_call_inits();
ruby_class = rb_cObject;
ruby_frame->self = ruby_top_self;
- ruby_top_cref = rb_node_newnode(NODE_CREF,rb_cObject,0,0);
+ ruby_top_cref = NEW_CREF(rb_cObject, 0);
ruby_cref = ruby_top_cref;
rb_define_global_const("TOPLEVEL_BINDING", rb_f_binding(ruby_top_self));
#ifdef __MACOS__