From 3ee0648dc7a5465b2cbadd7246fc2edbd676d759 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 18 Apr 2019 21:56:55 +0000 Subject: io.c: warn non-nil $, * array.c (rb_ary_join_m): warn use of non-nil $,. * io.c (rb_output_fs_setter): warn when set to non-nil value. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'io.c') diff --git a/io.c b/io.c index 73108f7747..7aba8be12f 100644 --- a/io.c +++ b/io.c @@ -7525,6 +7525,16 @@ rb_f_printf(int argc, VALUE *argv) return Qnil; } +static void +rb_output_fs_setter(VALUE val, ID id, VALUE *var) +{ + rb_str_setter(val, id, &val); + if (!NIL_P(val)) { + rb_warn("non-nil $, will be deprecated"); + } + *var = val; +} + /* * call-seq: * ios.print -> nil @@ -13172,7 +13182,7 @@ Init_IO(void) rb_define_method(rb_cIO, "initialize", rb_io_initialize, -1); rb_output_fs = Qnil; - rb_define_hooked_variable("$,", &rb_output_fs, 0, rb_str_setter); + rb_define_hooked_variable("$,", &rb_output_fs, 0, rb_output_fs_setter); rb_default_rs = rb_fstring_lit("\n"); /* avoid modifying RS_default */ rb_gc_register_mark_object(rb_default_rs); -- cgit v1.2.3