diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-24 07:25:46 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-01-24 07:25:46 +0000 |
commit | e36dd522913f79973f0493cc885ce066920ed6e2 (patch) | |
tree | 551969d2352cc6390faf610f2e569f00afa55210 | |
parent | 9b43eaf115172fdb942c8394ef6f7a4dbaac1737 (diff) | |
download | ruby-e36dd522913f79973f0493cc885ce066920ed6e2.tar.gz |
* parse.y (reg_fragment_setenc_gen): recognize regexp with option n as
as ASCII-8BIT instead of US-ASCII. [ruby-dev:33339]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | parse.y | 4 |
2 files changed, 9 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Thu Jan 24 16:24:25 2008 NAKAMURA Usaku <usa@ruby-lang.org> + + * parse.y (reg_fragment_setenc_gen): recognize regexp with option n as + as ASCII-8BIT instead of US-ASCII. [ruby-dev:33339] + Thu Jan 24 15:44:42 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * array.c (collect_bang_i): use rb_ary_store() to avoid potential @@ -456,6 +456,7 @@ static int lvar_defined_gen(struct parser_params*, ID); #define RE_OPTION_ENCODING_SHIFT 8 #define RE_OPTION_ENCODING(e) (((e)&0xff)<<RE_OPTION_ENCODING_SHIFT) #define RE_OPTION_ENCODING_IDX(o) (((o)>>RE_OPTION_ENCODING_SHIFT)&0xff) +#define RE_OPTION_ENCODING_NONE(o) ((o)&32) #define RE_OPTION_MASK 0xff #define NODE_STRTERM NODE_ZARRAY /* nothing to gc */ @@ -8478,6 +8479,9 @@ reg_fragment_setenc_gen(struct parser_params* parser, VALUE str, int options) } ENCODING_SET(str, idx); } + else if (RE_OPTION_ENCODING_NONE(options)) { + rb_enc_associate(str, rb_ascii8bit_encoding()); + } } static void |