Modified: MacRuby/trunk/vm_eval.c (4406 => 4407)
--- MacRuby/trunk/vm_eval.c 2010-08-05 00:34:39 UTC (rev 4406)
+++ MacRuby/trunk/vm_eval.c 2010-08-05 08:12:49 UTC (rev 4407)
@@ -521,19 +521,16 @@
{
VALUE klass;
- if (SPECIAL_CONST_P(self)) {
+ if (SPECIAL_CONST_P(self) || CLASS_OF(self) == rb_cSymbol) {
klass = 0;
}
else {
- switch (TYPE(self)) {
- default:
- klass = rb_singleton_class(self);
- switch (TYPE(top)) {
- case T_CLASS:
- case T_MODULE:
- rb_vm_set_outer(klass, top);
- break;
- }
+ klass = rb_singleton_class(self);
+ switch (TYPE(top)) {
+ case T_CLASS:
+ case T_MODULE:
+ rb_vm_set_outer(klass, top);
+ break;
}
}
return specific_eval(argc, argv, klass, self);