aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/ruby/test_econv.rb3
-rw-r--r--transcode.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/test/ruby/test_econv.rb b/test/ruby/test_econv.rb
index bbdb14a50b..6bfd6ba136 100644
--- a/test/ruby/test_econv.rb
+++ b/test/ruby/test_econv.rb
@@ -908,6 +908,9 @@ class TestEncodingConverter < Test::Unit::TestCase
ec1 = Encoding::Converter.new("", "", universal_newline: true)
ec2 = Encoding::Converter.new("", "", newline: :universal)
assert_equal(ec1, ec2)
+ assert_raise_with_message(ArgumentError, /\u{3042}/) {
+ Encoding::Converter.new("", "", newline: "\u{3042}".to_sym)
+ }
end
def test_default_external
diff --git a/transcode.c b/transcode.c
index da9b2cc15d..32d9f8d470 100644
--- a/transcode.c
+++ b/transcode.c
@@ -2487,8 +2487,8 @@ econv_opts(VALUE opt, int ecflags)
/* ecflags |= ECONV_LF_NEWLINE_DECORATOR; */
}
else if (SYMBOL_P(v)) {
- rb_raise(rb_eArgError, "unexpected value for newline option: %s",
- rb_id2name(SYM2ID(v)));
+ rb_raise(rb_eArgError, "unexpected value for newline option: %"PRIsVALUE,
+ rb_sym2str(v));
}
else {
rb_raise(rb_eArgError, "unexpected value for newline option");