* parse.y (rb_char_to_option_kcode): ASCII-8BIT should also delay.

* re.c (parser_regx_options): return rb_ascii8bit_encindex on
  ASCII-8BIT. [ruby-dev:39300]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2009-09-10 17:07:38 +00:00
Родитель 9e77c428ed
Коммит e13ca98198
3 изменённых файлов: 17 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,11 @@
Fri Sep 11 02:06:44 2009 NARUSE, Yui <naruse@ruby-lang.org>
* parse.y (rb_char_to_option_kcode): ASCII-8BIT should
also delay.
* re.c (parser_regx_options): return rb_ascii8bit_encindex on
ASCII-8BIT. [ruby-dev:39300]
Fri Sep 11 01:14:00 2009 Marc-Andre Lafortune <ruby-core@marc-andre.ca>
* lib/net/http.rb (fetch): rdoc fix, patch by Arthur Schreiber.

Просмотреть файл

@ -5598,8 +5598,13 @@ parser_regx_options(struct parser_params *parser)
options |= RE_OPTION_ONCE;
}
else if (rb_char_to_option_kcode(c, &opt, &kc)) {
kopt = opt;
if (kc >= 0) kcode = c;
if (kc >= 0) {
if (kc != rb_ascii8bit_encindex()) kcode = c;
kopt = opt;
}
else {
options |= opt;
}
}
else {
tokadd(c);

4
re.c
Просмотреть файл

@ -287,7 +287,7 @@ rb_char_to_option_kcode(int c, int *option, int *kcode)
switch (c) {
case 'n':
*kcode = -1;
*kcode = rb_ascii8bit_encindex();
return (*option = ARG_ENCODING_NONE);
case 'e':
*kcode = rb_enc_find_index("EUC-JP");
@ -296,7 +296,7 @@ rb_char_to_option_kcode(int c, int *option, int *kcode)
*kcode = rb_enc_find_index("Windows-31J");
break;
case 'u':
*kcode = rb_enc_find_index("UTF-8");
*kcode = rb_utf8_encindex();
break;
default:
*kcode = -1;