From 8cecfd6b562f5805ab40bcf409e331a769d9968a Mon Sep 17 00:00:00 2001 From: akr Date: Mon, 7 Jan 2008 02:49:01 +0000 Subject: * encoding.c (rb_enc_internal_get_index): extracted from rb_enc_get_index. (rb_enc_internal_set_index): extracted from rb_enc_associate_index * include/ruby/encoding.h (ENCODING_SET): work over ENCODING_INLINE_MAX. (ENCODING_GET): ditto. (ENCODING_IS_ASCII8BIT): defined. (ENCODING_CODERANGE_SET): defined. * re.c (rb_reg_fixed_encoding_p): use ENCODING_IS_ASCII8BIT. * string.c (rb_enc_str_buf_cat): use ENCODING_IS_ASCII8BIT. * parse.y (reg_fragment_setenc_gen): use ENCODING_IS_ASCII8BIT. * marshal.c (has_ivars): use ENCODING_IS_ASCII8BIT. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index bd9f1b128..75459c354 100644 --- a/parse.y +++ b/parse.y @@ -8470,7 +8470,7 @@ reg_fragment_setenc_gen(struct parser_params* parser, VALUE str, int options) if (c) { int opt, idx; rb_char_to_option_kcode(c, &opt, &idx); - if (idx != ENCODING_GET(str) && ENCODING_GET(str) && + if (idx != ENCODING_GET(str) && !ENCODING_IS_ASCII8BIT(str) && rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) { compile_error(PARSER_ARG "regexp encoding option '%c' differs from source encoding '%s'", -- cgit