summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-15 16:37:38 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-15 16:37:38 +0000
commit1aba3f9d76110311ac538a56203f035559643953 (patch)
tree56d2d62bc2875e251cf446d8c4bd5c1166354ec4
parent43bd807c43d25b31b29c6225b7d0f8ca6e67e40d (diff)
* 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
-rw-r--r--ChangeLog8
-rw-r--r--encoding.c2
-rw-r--r--ruby.c2
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 <akr@fsij.org>
+
+ * 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 <mame@tsg.ne.jp>
* 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));