diff --git a/ChangeLog b/ChangeLog index 4715c35edc..5fae6d3fe6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Sun Dec 30 06:31:11 2007 NAKAMURA Usaku + + * encoding.c (Init_encoding): register Windows-31J and its alias. + [ruby-dev:32843] + + * ruby.c (proc_options): -Ks options means Windows-31J, not Shift_JIS. + Sun Dec 30 06:27:38 2007 NAKAMURA Usaku * lib/mkmf.rb (depend_rules): need to convert `/' to `\' for windows diff --git a/encoding.c b/encoding.c index ac47b9c157..969fd94be7 100644 --- a/encoding.c +++ b/encoding.c @@ -1011,6 +1011,9 @@ Init_Encoding(void) /* dummy for unsupported, statefull encoding */ rb_define_dummy_encoding("ISO-2022-JP"); + rb_enc_replicate("Windows-31J", ONIG_ENCODING_SJIS); + rb_enc_alias("CP932", "Windows-31J"); + for (i = 0; i < enc_table_size; ++i) { rb_encoding *enc = enc_table[i].enc; if (enc) set_encoding_const(rb_enc_name(enc), enc); diff --git a/ruby.c b/ruby.c index 701e3e5196..2e44c47fbd 100644 --- a/ruby.c +++ b/ruby.c @@ -712,7 +712,8 @@ proc_options(int argc, char **argv, struct cmdline_options *opt) enc = ONIG_ENCODING_EUC_JP; break; case 'S': case 's': - enc = ONIG_ENCODING_SJIS; + enc = rb_enc_find("Windows-31J"); + if (!enc) enc = ONIG_ENCODING_SJIS; break; case 'U': case 'u': enc = ONIG_ENCODING_UTF8;