From 7c1cab2a4f0322cfe37983ffb9ec620ad0b3002f Mon Sep 17 00:00:00 2001 From: usa Date: Sat, 29 Dec 2007 21:34:15 +0000 Subject: [PATCH] * 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ encoding.c | 3 +++ ruby.c | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) 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;