mirror of
https://github.com/ruby/ruby.git
synced 2025-08-26 14:34:39 +02:00
* eval.c (rb_f_send): allow send/__send__ to call methods of all
visibility again. we no longer provide __send, __send!. * eval.c (rb_invoke_method): new method to honor private visibility. if it's invoked in a function call style, it calls private methods as well (previous 1.9 send behavior). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ed823523e3
commit
1eee78b876
28 changed files with 92 additions and 101 deletions
|
@ -124,7 +124,7 @@ class TestEval < Test::Unit::TestCase
|
|||
obj.class.class_variable_set :@@cvar, 13
|
||||
# Use same value with env. See also test_instance_variable_cvar.
|
||||
obj.class.const_set :Const, 15 unless obj.class.const_defined?(:Const)
|
||||
send! mid, obj
|
||||
send mid, obj
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -364,7 +364,7 @@ class TestEval < Test::Unit::TestCase
|
|||
assert_nothing_raised {
|
||||
def temporally_method_for_test_eval_and_define_method(&block)
|
||||
lambda {
|
||||
class << Object.new; self end.send!(:define_method, :zzz, &block)
|
||||
class << Object.new; self end.send(:define_method, :zzz, &block)
|
||||
}
|
||||
end
|
||||
v = eval("temporally_method_for_test_eval_and_define_method {}")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue