summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-06 03:12:09 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-06 03:12:09 +0000
commit03c7332241e8f85b2a1d87dd88ed2946c9d32060 (patch)
treedfb34b27b7f3412f252a866b54929c4cba5b7b50 /ruby.c
parent5067bfe36ee11c7cf601df7e2bab3ed5f3b01e4e (diff)
* ruby.c (process_options): set initial default_external before -r.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ruby.c b/ruby.c
index 16cf652b5e..3821b939d8 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1296,6 +1296,13 @@ process_options(VALUE arg)
opt->src.enc.index = opt_enc_index(opt->src.enc.name);
src_encoding_index = opt->src.enc.index;
}
+ if (opt->ext.enc.index >= 0) {
+ enc = rb_enc_from_index(opt->ext.enc.index);
+ }
+ else {
+ enc = lenc;
+ }
+ rb_enc_set_default_external(rb_enc_from_encoding(enc));
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));