diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-26 06:34:31 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-03-26 06:34:31 +0000 |
commit | 9a848c5f4a7930b88e28fd4650322690f9c210e6 (patch) | |
tree | b3c64b61635ba0a987a13a180833a13d3e03eea4 /parse.y | |
parent | e70b61d0104da0d4add791a7f2074fdff9511de0 (diff) |
parse.y: no dup US-ASCII string
* parse.y (rb_str_dynamic_intern): no needs to associate encoding
if it is US-ASCII.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45430 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -10672,7 +10672,7 @@ rb_str_dynamic_intern(VALUE s) #if USE_SYMBOL_GC VALUE str = RB_GC_GUARD(s); VALUE dup; - rb_encoding *enc; + rb_encoding *enc, *ascii; VALUE dsym; ID id, type; @@ -10682,9 +10682,10 @@ rb_str_dynamic_intern(VALUE s) dup = rb_str_dup(str); enc = rb_enc_get(str); - if (rb_enc_asciicompat(enc)) { + ascii = rb_usascii_encoding(); + if (enc != ascii) { if (sym_check_asciionly(str)) { - rb_enc_associate(dup, rb_usascii_encoding()); + rb_enc_associate(dup, ascii); } } |