aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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));