diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | encoding.c | 3 | ||||
-rw-r--r-- | ruby.c | 3 |
3 files changed, 12 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Sun Dec 30 06:31:11 2007 NAKAMURA Usaku <usa@ruby-lang.org> + + * 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 <usa@ruby-lang.org> * 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); @@ -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; |