summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-29 21:34:15 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-29 21:34:15 +0000
commit7c1cab2a4f0322cfe37983ffb9ec620ad0b3002f (patch)
treeffa70d5f23c83f5f40db760bab79a5de19956cf4
parent99a24e9e156c533f8b80353e9eaaf520baacf30b (diff)
* 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
-rw-r--r--ChangeLog7
-rw-r--r--encoding.c3
-rw-r--r--ruby.c3
3 files changed, 12 insertions, 1 deletions
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 <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);
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;