diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-28 02:26:23 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-28 02:26:23 +0000 |
commit | 4a948632442b735d306c9583f20f734b0bf7577c (patch) | |
tree | 586c2c57e304e793604f53229ea845696d18343c | |
parent | c7c263eefc2509df20206763f05383009961d68c (diff) | |
download | ruby-4a948632442b735d306c9583f20f734b0bf7577c.tar.gz |
* parse.y (parser_str_new): encoding of UTF-8 literal string in
US-ASCII script is UTF-8. [ruby-dev:33406]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 2 | ||||
-rw-r--r-- | test/ruby/test_m17n.rb | 1 |
3 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Mon Jan 28 11:24:49 2008 NAKAMURA Usaku <usa@ruby-lang.org> + + * parse.y (parser_str_new): encoding of UTF-8 literal string in + US-ASCII script is UTF-8. [ruby-dev:33406] + Mon Jan 28 10:25:59 2008 NAKAMURA Usaku <usa@ruby-lang.org> * test/ruby/test_m17n.rb (test_magic_comment): add test. @@ -4848,7 +4848,7 @@ parser_str_new(const char *p, long n, rb_encoding *enc, int func, rb_encoding *e if (rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT) { rb_enc_associate(str, rb_usascii_encoding()); } - else if (enc0 == rb_usascii_encoding()) { + else if (enc0 == rb_usascii_encoding() && enc != rb_utf8_encoding()) { rb_enc_associate(str, rb_ascii8bit_encoding()); } } diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index c503cdbea3..3423a1d58a 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -153,6 +153,7 @@ class TestM17N < Test::Unit::TestCase def test_utf8_literal assert_equal(Encoding::UTF_8, "\u3042".encoding, "[ruby-dev:33406] \"\\u3042\".encoding") + assert_raise(SyntaxError) { eval(a('\u3052\x80')) } end def test_string_mixed_unicode |