diff options
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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 |