summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--variable.c4
-rw-r--r--vm_method.c5
3 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 05edd3e814..401df2e7a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Sat Dec 3 20:49:16 2011 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * variable.c (set_const_visibility): print a warning when no argument
+ is passwd to Module#private_constant. [ruby-list:48558]
+
+ * vm_method.c (set_method_visibility): ditto for
+ Module#private_class_method.
+
Sat Dec 3 20:43:14 2011 Yusuke Endoh <mame@tsg.ne.jp>
* variable.c (set_const_visibility): Module#private_constant has
diff --git a/variable.c b/variable.c
index fc912d64f8..7f8988c579 100644
--- a/variable.c
+++ b/variable.c
@@ -2111,6 +2111,10 @@ set_const_visibility(VALUE mod, int argc, VALUE *argv, rb_const_flag_t flag)
"Insecure: can't change constant visibility");
}
+ if (argc == 0) {
+ rb_warning("%s with no argument is just ignored", rb_id2name(rb_frame_callee()));
+ }
+
for (i = 0; i < argc; i++) {
VALUE val = argv[i];
id = rb_check_id(&val);
diff --git a/vm_method.c b/vm_method.c
index f1235dcd47..3811f48246 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -985,6 +985,11 @@ set_method_visibility(VALUE self, int argc, VALUE *argv, rb_method_flag_t ex)
{
int i;
secure_visibility(self);
+
+ if (argc == 0) {
+ rb_warning("%s with no argument is just ignored", rb_id2name(rb_frame_callee()));
+ }
+
for (i = 0; i < argc; i++) {
VALUE v = argv[i];
ID id = rb_check_id(&v);