summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-10-16 05:48:40 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-10-16 05:48:40 +0000
commit676dc908b6ae40413e552ae4edf047190cdb583d (patch)
treedbe1304a04c76b55c5189fa3bcd107a30e668074 /ruby.c
parent9f00119776a1dec9f26203e0ce46e28d954102e4 (diff)
* 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.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/ruby.c b/ruby.c
index f8e812be74..c39731385b 100644
--- a/ruby.c
+++ b/ruby.c
@@ -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;