summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-29 09:19:15 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-29 09:19:15 +0000
commitdaa622aed079b4434e607820d7577b4a7d4f2bfc (patch)
tree5a7cfc28983ed2e26680686bc23eb47de95fa813 /parse.y
parentdeff2a3e247d9dd42ac55d9ecfeb7f567aac9fd4 (diff)
* time.c (time_strftime): format should be ascii compatible.
* parse.y (rb_intern3): non ASCII compatible symbols. * re.c (rb_reg_regsub): add encoding check. * string.c (rb_str_chomp_bang): ditto. * test/ruby/test_utf16.rb (TestUTF16::test_chomp): raises exception. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15640 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 4 insertions, 0 deletions
diff --git a/parse.y b/parse.y
index bf0cd7388f..88e72de4bf 100644
--- a/parse.y
+++ b/parse.y
@@ -9008,6 +9008,10 @@ rb_intern3(const char *name, long len, rb_encoding *enc)
if (st_lookup(global_symbols.sym_id, str, (st_data_t *)&id))
return id;
+ if (rb_cString && !rb_enc_asciicompat(enc)) {
+ id = ID_JUNK;
+ goto new_id;
+ }
last = len-1;
id = 0;
switch (*m) {