* variable.c (set_const_visibility): use rb_frame_this_func() instead

of rb_frame_callee() for getting the name of the called method

* test/ruby/test_module.rb: add test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
charliesome 2013-05-24 10:33:05 +00:00
parent f38a063090
commit 9885529986
3 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,10 @@
Fri May 24 19:32:00 2013 Charlie Somerville <charliesome@ruby-lang.org>
* variable.c (set_const_visibility): use rb_frame_this_func() instead
of rb_frame_callee() for getting the name of the called method
* test/ruby/test_module.rb: add test for private_constant with no args
Fri May 24 18:53:10 2013 Koichi Sasada <ko1@atdot.net> Fri May 24 18:53:10 2013 Koichi Sasada <ko1@atdot.net>
* gc.c: do major/full GC when: * gc.c: do major/full GC when:

View file

@ -1232,6 +1232,15 @@ class TestModule < Test::Unit::TestCase
assert_equal("bar", c.class_eval("BAR")) assert_equal("bar", c.class_eval("BAR"))
end end
def test_private_constant_with_no_args
assert_in_out_err([], <<-RUBY, [], ["-:3: warning: private_constant with no argument is just ignored"])
$-w = true
class X
private_constant
end
RUBY
end
class PrivateClass class PrivateClass
end end
private_constant :PrivateClass private_constant :PrivateClass

View file

@ -2231,7 +2231,7 @@ set_const_visibility(VALUE mod, int argc, VALUE *argv, rb_const_flag_t flag)
if (argc == 0) { if (argc == 0) {
rb_warning("%"PRIsVALUE" with no argument is just ignored", rb_warning("%"PRIsVALUE" with no argument is just ignored",
QUOTE_ID(rb_frame_callee())); QUOTE_ID(rb_frame_this_func()));
} }
for (i = 0; i < argc; i++) { for (i = 0; i < argc; i++) {