Revision
1291
Author
lsansonetti@apple.com
Date
2009-04-02 21:16:09 -0700 (Thu, 02 Apr 2009)

Log Message

fixed another bug in eval

Modified Paths

Diff

Modified: MacRuby/branches/experimental/roxor.cpp (1290 => 1291)


--- MacRuby/branches/experimental/roxor.cpp	2009-04-03 02:35:45 UTC (rev 1290)
+++ MacRuby/branches/experimental/roxor.cpp	2009-04-03 04:16:09 UTC (rev 1291)
@@ -6382,8 +6382,6 @@
 rb_vm_run_under(VALUE klass, VALUE self, const char *fname, NODE *node,
 		rb_vm_binding_t *binding)
 {
-    assert(klass != 0);
-
     VALUE old_top_object = GET_VM()->current_top_object;
     if (binding != NULL) {
 	self = binding->self;
@@ -6392,7 +6390,9 @@
 	GET_VM()->current_top_object = self;
     }
     Class old_class = GET_VM()->current_class;
-    GET_VM()->current_class = (Class)klass;
+    if (klass != 0) {
+	GET_VM()->current_class = (Class)klass;
+    }
 
     VALUE val = rb_vm_run(fname, node, binding);
 

Modified: MacRuby/branches/experimental/vm_eval.c (1290 => 1291)


--- MacRuby/branches/experimental/vm_eval.c	2009-04-03 02:35:45 UTC (rev 1290)
+++ MacRuby/branches/experimental/vm_eval.c	2009-04-03 04:16:09 UTC (rev 1291)
@@ -349,9 +349,6 @@
 	}
     }
 
-    if (klass == 0) {
-	klass = rb_cObject;
-    }
     return rb_vm_run_under(klass, self, file, node, b);
 }