aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--io.c8
-rw-r--r--spec/ruby/core/io/print_spec.rb4
-rw-r--r--spec/ruby/core/kernel/p_spec.rb8
-rw-r--r--spec/ruby/library/English/English_spec.rb8
-rw-r--r--spec/ruby/library/stringio/print_spec.rb10
-rw-r--r--spec/ruby/library/stringio/puts_spec.rb15
-rw-r--r--spec/ruby/optional/capi/globals_spec.rb4
-rw-r--r--test/ruby/test_io.rb6
8 files changed, 37 insertions, 26 deletions
diff --git a/io.c b/io.c
index b3175df6c0..e388e384c1 100644
--- a/io.c
+++ b/io.c
@@ -7570,11 +7570,11 @@ rb_f_printf(int argc, VALUE *argv, VALUE _)
}
static void
-rb_output_fs_setter(VALUE val, ID id, VALUE *var)
+deprecated_str_setter(VALUE val, ID id, VALUE *var)
{
rb_str_setter(val, id, &val);
if (!NIL_P(val)) {
- rb_warn_deprecated("`$,'", NULL);
+ rb_warn_deprecated("`%s'", NULL, rb_id2name(id));
}
*var = val;
}
@@ -13282,7 +13282,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_output_fs_setter);
+ rb_define_hooked_variable("$,", &rb_output_fs, 0, deprecated_str_setter);
rb_default_rs = rb_fstring_lit("\n"); /* avoid modifying RS_default */
rb_gc_register_mark_object(rb_default_rs);
@@ -13290,7 +13290,7 @@ Init_IO(void)
rb_output_rs = Qnil;
rb_define_hooked_variable("$/", &rb_rs, 0, rb_str_setter);
rb_define_hooked_variable("$-0", &rb_rs, 0, rb_str_setter);
- rb_define_hooked_variable("$\\", &rb_output_rs, 0, rb_str_setter);
+ rb_define_hooked_variable("$\\", &rb_output_rs, 0, deprecated_str_setter);
rb_define_virtual_variable("$_", get_LAST_READ_LINE, set_LAST_READ_LINE);
diff --git a/spec/ruby/core/io/print_spec.rb b/spec/ruby/core/io/print_spec.rb
index 2021cd5420..0e8805348e 100644
--- a/spec/ruby/core/io/print_spec.rb
+++ b/spec/ruby/core/io/print_spec.rb
@@ -4,12 +4,12 @@ require_relative 'fixtures/classes'
describe IO, "#print" do
before :each do
@old_separator = $\
- $\ = '->'
+ suppress_warning {$\ = '->'}
@name = tmp("io_print")
end
after :each do
- $\ = @old_separator
+ suppress_warning {$\ = @old_separator}
rm_r @name
end
diff --git a/spec/ruby/core/kernel/p_spec.rb b/spec/ruby/core/kernel/p_spec.rb
index 798bd47b34..1bdd1740ca 100644
--- a/spec/ruby/core/kernel/p_spec.rb
+++ b/spec/ruby/core/kernel/p_spec.rb
@@ -57,10 +57,14 @@ describe "Kernel#p" do
}
-> { p(o) }.should output_to_fd("Next time, Gadget, NEXT TIME!\n")
- $\ = " *helicopter sound*\n"
+ suppress_warning {
+ $\ = " *helicopter sound*\n"
+ }
-> { p(o) }.should output_to_fd("Next time, Gadget, NEXT TIME!\n")
- $/ = " *helicopter sound*\n"
+ suppress_warning {
+ $/ = " *helicopter sound*\n"
+ }
-> { p(o) }.should output_to_fd("Next time, Gadget, NEXT TIME!\n")
end
diff --git a/spec/ruby/library/English/English_spec.rb b/spec/ruby/library/English/English_spec.rb
index f6153ec7c9..480602d5e5 100644
--- a/spec/ruby/library/English/English_spec.rb
+++ b/spec/ruby/library/English/English_spec.rb
@@ -67,18 +67,18 @@ describe "English" do
it "aliases $ORS to $\\" do
original = $\
- $\ = "\t"
+ suppress_warning {$\ = "\t"}
$ORS.should_not be_nil
$ORS.should == $\
- $\ = original
+ suppress_warning {$\ = original}
end
it "aliases $OUTPUT_RECORD_SEPARATOR to $\\" do
original = $\
- $\ = "\t"
+ suppress_warning {$\ = "\t"}
$OUTPUT_RECORD_SEPARATOR.should_not be_nil
$OUTPUT_RECORD_SEPARATOR.should == $\
- $\ = original
+ suppress_warning {$\ = original}
end
it "aliases $INPUT_LINE_NUMBER to $." do
diff --git a/spec/ruby/library/stringio/print_spec.rb b/spec/ruby/library/stringio/print_spec.rb
index d0f07d1e50..6ac6430900 100644
--- a/spec/ruby/library/stringio/print_spec.rb
+++ b/spec/ruby/library/stringio/print_spec.rb
@@ -39,13 +39,14 @@ describe "StringIO#print" do
end
it "honors the output record separator global" do
- old_rs, $\ = $\, 'x'
+ old_rs = $\
+ suppress_warning {$\ = 'x'}
begin
@io.print(5, 6, 7, 8)
@io.string.should == '5678xle'
ensure
- $\ = old_rs
+ suppress_warning {$\ = old_rs}
end
end
@@ -58,13 +59,14 @@ describe "StringIO#print" do
end
it "correctly updates the current position when honoring the output record separator global" do
- old_rs, $\ = $\, 'x'
+ old_rs = $\
+ suppress_warning {$\ = 'x'}
begin
@io.print(5, 6, 7, 8)
@io.pos.should eql(5)
ensure
- $\ = old_rs
+ suppress_warning {$\ = old_rs}
end
end
end
diff --git a/spec/ruby/library/stringio/puts_spec.rb b/spec/ruby/library/stringio/puts_spec.rb
index 2d3db25c5f..a9f289a5a5 100644
--- a/spec/ruby/library/stringio/puts_spec.rb
+++ b/spec/ruby/library/stringio/puts_spec.rb
@@ -30,11 +30,12 @@ describe "StringIO#puts when passed an Array" do
it "does not honor the global output record separator $\\" do
begin
- old_rs, $\ = $\, "test"
+ old_rs = $\
+ suppress_warning {$\ = "test"}
@io.puts([1, 2, 3, 4])
@io.string.should == "1\n2\n3\n4\n"
ensure
- $\ = old_rs
+ suppress_warning {$\ = old_rs}
end
end
@@ -68,11 +69,12 @@ describe "StringIO#puts when passed 1 or more objects" do
it "does not honor the global output record separator $\\" do
begin
- old_rs, $\ = $\, "test"
+ old_rs = $\
+ suppress_warning {$\ = "test"}
@io.puts(1, 2, 3, 4)
@io.string.should == "1\n2\n3\n4\n"
ensure
- $\ = old_rs
+ suppress_warning {$\ = old_rs}
end
end
@@ -117,11 +119,12 @@ describe "StringIO#puts when passed no arguments" do
it "does not honor the global output record separator $\\" do
begin
- old_rs, $\ = $\, "test"
+ old_rs = $\
+ suppress_warning {$\ = "test"}
@io.puts
@io.string.should == "\n"
ensure
- $\ = old_rs
+ suppress_warning {$\ = old_rs}
end
end
end
diff --git a/spec/ruby/optional/capi/globals_spec.rb b/spec/ruby/optional/capi/globals_spec.rb
index 84694b1375..ffc579023d 100644
--- a/spec/ruby/optional/capi/globals_spec.rb
+++ b/spec/ruby/optional/capi/globals_spec.rb
@@ -140,7 +140,7 @@ describe "CApiGlobalSpecs" do
end
after :each do
- $\ = @dollar_backslash
+ suppress_warning {$\ = @dollar_backslash}
end
it "returns nil by default" do
@@ -148,7 +148,7 @@ describe "CApiGlobalSpecs" do
end
it "returns the value of $\\" do
- $\ = "foo"
+ suppress_warning {$\ = "foo"}
@f.rb_output_rs.should == "foo"
end
end
diff --git a/test/ruby/test_io.rb b/test/ruby/test_io.rb
index af2b08de95..a6df5c8b08 100644
--- a/test/ruby/test_io.rb
+++ b/test/ruby/test_io.rb
@@ -2568,8 +2568,10 @@ class TestIO < Test::Unit::TestCase
end
def test_print_separators
- EnvUtil.suppress_warning {$, = ':'}
- $\ = "\n"
+ EnvUtil.suppress_warning {
+ $, = ':'
+ $\ = "\n"
+ }
pipe(proc do |w|
w.print('a')
EnvUtil.suppress_warning {w.print('a','b','c')}