diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-16 05:48:40 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-10-16 05:48:40 +0000 |
commit | 676dc908b6ae40413e552ae4edf047190cdb583d (patch) | |
tree | dbe1304a04c76b55c5189fa3bcd107a30e668074 /ruby.c | |
parent | 9f00119776a1dec9f26203e0ce46e28d954102e4 (diff) | |
download | ruby-676dc908b6ae40413e552ae4edf047190cdb583d.tar.gz |
* parse.y (parser_regx_options): check if regexp encoding option
matches to current encoding.
* re.c (char_to_option, rb_char_to_option_kcode): 'n' is not kcode
option now.
* re.c (rb_reg_to_s, rb_reg_error_desc): copy encoding rather than
append as an option.
* re.c (make_regexp, rb_reg_prepare_re): use encoding of Regexp and
String instead of kcode.
* re.c (rb_reg_initialize): set fixed option if none is set.
* re.c (rb_reg_regcomp): ditto.
* re.c (rb_reg_equal): check if encodings are equal.
* re.c (rb_reg_initialize_m): encoding option is obsolete.
* re.c (rb_kcode, rb_get_kcode, rb_set_kcode): removed.
* re.c (Init_Regexp): removed Regexp#kcode method.
* ruby.c (proc_options): allow long encoding name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13717 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r-- | ruby.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -733,9 +733,7 @@ proc_options(int argc, char **argv, struct cmdline_options *opt) case 'K': if (*++s) { rb_encoding *enc = 0; -#if 0 if ((opt->enc_index = rb_enc_find_index(s)) >= 0) break; -#endif switch (*s) { case 'E': case 'e': enc = ONIG_ENCODING_EUC_JP; @@ -749,10 +747,11 @@ proc_options(int argc, char **argv, struct cmdline_options *opt) case 'N': case 'n': case 'A': case 'a': enc = ONIG_ENCODING_ASCII; break; - default: + } + if (!enc) { rb_raise(rb_eRuntimeError, "unknown encoding name - %s", s); } - opt->enc_index = rb_enc_to_index(enc); + opt->enc_index = rb_enc_find_index(rb_enc_name(enc)); s++; } goto reswitch; |