From 141292aa27edbd2650cfdd52ab7f3ec0af7c74df Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 19 May 2008 03:08:50 +0000 Subject: * vm.c, insns.def, eval.c, vm_insnhelper.c: fix CREF handling. VM value stack frame of block contains cref information. (dfp[-1] points CREF) * compile.c, eval_intern.h, eval_method.c, load.c, proc.c, vm_dump.h, vm_core.h: ditto. * include/ruby/ruby.h, gc.c: remove T_VALUES because of above changes. * bootstraptest/test_eval.rb, test_knownbug.rb: move solved test. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@16468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_eval.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'bootstraptest/test_eval.rb') diff --git a/bootstraptest/test_eval.rb b/bootstraptest/test_eval.rb index a0e37b9b9..47976a304 100644 --- a/bootstraptest/test_eval.rb +++ b/bootstraptest/test_eval.rb @@ -208,3 +208,22 @@ assert_normal_exit %q{ end Foo.add_method }, '[ruby-core:14556] reported by Frederick Cheung' + +assert_equal 'ok', %q{ + class Module + def my_module_eval(&block) + module_eval(&block) + end + end + class String + Integer.my_module_eval do + def hoge; end + end + end + if Integer.instance_methods(false).map{|m|m.to_sym}.include?(:hoge) && + !String.instance_methods(false).map{|m|m.to_sym}.include?(:hoge) + :ok + else + :ng + end +}, "[ruby-dev:34236]" -- cgit