summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--encoding.c1
-rw-r--r--test/ruby/test_encoding.rb3
2 files changed, 4 insertions, 0 deletions
diff --git a/encoding.c b/encoding.c
index f102524379..df3d65cd48 100644
--- a/encoding.c
+++ b/encoding.c
@@ -720,6 +720,7 @@ enc_capable(VALUE obj)
case T_STRING:
case T_REGEXP:
case T_FILE:
+ case T_SYMBOL:
return TRUE;
case T_DATA:
if (is_data_encoding(obj)) return TRUE;
diff --git a/test/ruby/test_encoding.rb b/test/ruby/test_encoding.rb
index 85f1a2df17..9a780a64c5 100644
--- a/test/ruby/test_encoding.rb
+++ b/test/ruby/test_encoding.rb
@@ -107,6 +107,9 @@ class TestEncoding < Test::Unit::TestCase
bin = "a".force_encoding(Encoding::ASCII_8BIT)
asc = "b".force_encoding(Encoding::US_ASCII)
assert_equal(Encoding::ASCII_8BIT, Encoding.compatible?(bin, asc))
+ bin = "\xff".force_encoding(Encoding::ASCII_8BIT).to_sym
+ asc = "b".force_encoding(Encoding::ASCII_8BIT)
+ assert_equal(Encoding::ASCII_8BIT, Encoding.compatible?(bin, asc))
end
def test_errinfo_after_autoload