diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-22 02:52:27 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-22 02:52:27 +0000 |
commit | 85143195da6d07b7a50ae4ab73e461414293d47c (patch) | |
tree | aeb3b7bc9dfd7b0a8269de3c01a26be3c688f4d9 | |
parent | b507930297de6991910ee086ca06af1fac5b5363 (diff) | |
download | ruby-85143195da6d07b7a50ae4ab73e461414293d47c.tar.gz |
* eval.c (rb_obj_instance_eval): use class of immediate objects.
* test/ruby/test_eval.rb: fix a test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | eval.c | 2 | ||||
-rw-r--r-- | test/ruby/test_eval.rb | 2 |
3 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Sat Dec 22 11:47:42 2007 Koichi Sasada <ko1@atdot.net> + + * eval.c (rb_obj_instance_eval): use class of immediate objects. + + * test/ruby/test_eval.rb: fix a test. + Sat Dec 22 11:37:06 2007 NAKAMURA Usaku <usa@ruby-lang.org> * encoding.c (rb_locale_charmap): win32 support. @@ -1998,7 +1998,7 @@ rb_obj_instance_eval(int argc, VALUE *argv, VALUE self) VALUE klass; if (SPECIAL_CONST_P(self)) { - klass = Qnil; + klass = CLASS_OF(self); //klass = Qnil; } else { klass = rb_singleton_class(self); diff --git a/test/ruby/test_eval.rb b/test/ruby/test_eval.rb index af59cced49..6e39374a9c 100644 --- a/test/ruby/test_eval.rb +++ b/test/ruby/test_eval.rb @@ -341,7 +341,7 @@ class TestEval < Test::Unit::TestCase def test_cvar_scope_with_instance_eval Fixnum.class_eval "@@test_cvar_scope_with_instance_eval = 1" # depends on [ruby-dev:24229] @@test_cvar_scope_with_instance_eval = 4 - assert_equal(4, 1.instance_eval("@@test_cvar_scope_with_instance_eval"), "[ruby-dev:24223]") + assert_equal(1, 1.instance_eval("@@test_cvar_scope_with_instance_eval"), "[ruby-dev:24223]") Fixnum.__send__(:remove_class_variable, :@@test_cvar_scope_with_instance_eval) end |