diff options
-rw-r--r-- | test/ruby/test_econv.rb | 3 | ||||
-rw-r--r-- | transcode.c | 4 |
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"); |