Revision: 4407 http://trac.macosforge.org/projects/ruby/changeset/4407 Author: lsansonetti@apple.com Date: 2010-08-05 01:12:49 -0700 (Thu, 05 Aug 2010) Log Message: ----------- #instance_eval: don't attempt to create singleton classes on symbols Modified Paths: -------------- MacRuby/trunk/vm_eval.c Modified: MacRuby/trunk/vm_eval.c =================================================================== --- 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);
participants (1)
-
source_changes@macosforge.org