From 1aba3f9d76110311ac538a56203f035559643953 Mon Sep 17 00:00:00 2001 From: akr Date: Sun, 15 Nov 2009 16:37:38 +0000 Subject: [PATCH] * encoding.c (rb_filesystem_encindex): use default external encoding instead of locale encoding in Unix. * ruby.c (process_options): delay inifilesystem encoding initialization after default external encoding initialization. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ encoding.c | 2 +- ruby.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1aae8e1847..d83a0f137a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Mon Nov 16 01:35:34 2009 Tanaka Akira + + * encoding.c (rb_filesystem_encindex): use default external encoding + instead of locale encoding in Unix. + + * ruby.c (process_options): delay inifilesystem encoding + initialization after default external encoding initialization. + Mon Nov 16 00:06:26 2009 Yusuke Endoh * thread.c (thread_cleanup_func): delete locking_mutex when thread diff --git a/encoding.c b/encoding.c index 97d930701b..9d956337ee 100644 --- a/encoding.c +++ b/encoding.c @@ -1129,7 +1129,7 @@ rb_filesystem_encindex(void) #elif defined __APPLE__ idx = rb_utf8_encindex(); #else - idx = rb_locale_encindex(); + idx = rb_enc_to_index(rb_default_external_encoding()); #endif if (rb_enc_registered("filesystem") < 0) enc_alias_internal("filesystem", idx); diff --git a/ruby.c b/ruby.c index 5c22d43b99..e471abedb5 100644 --- a/ruby.c +++ b/ruby.c @@ -1302,7 +1302,6 @@ process_options(int argc, char **argv, struct cmdline_options *opt) ruby_init_loadpath_safe(opt->safe_level); rb_enc_find_index("encdb"); lenc = rb_locale_encoding(); - (void)rb_filesystem_encoding(); rb_enc_associate(rb_progname, lenc); parser = rb_parser_new(); if (opt->dump & DUMP_BIT(yydebug)) { @@ -1325,6 +1324,7 @@ process_options(int argc, char **argv, struct cmdline_options *opt) enc = lenc; } rb_enc_set_default_external(rb_enc_from_encoding(enc)); + (void)rb_filesystem_encoding(); if (opt->intern.enc.index >= 0) { enc = rb_enc_from_index(opt->intern.enc.index); rb_enc_set_default_internal(rb_enc_from_encoding(enc));