summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ruby.c14
2 files changed, 12 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index c20d5158f..27e771e9e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Feb 6 12:03:47 2009 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * ruby.c (process_options): -K and -E in shebang should be reflect to
+ default_external. [ruby-dev:37920]
+
Fri Feb 6 02:51:59 2009 Yukihiro Matsumoto <matz@ruby-lang.org>
* string.c (rb_str_each_codepoint): update RDoc for
diff --git a/ruby.c b/ruby.c
index cfefc04fa..3d405f228 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1289,13 +1289,6 @@ 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));
@@ -1355,6 +1348,13 @@ process_options(VALUE arg)
});
}
+ 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) {
/* Set in the shebang line */
enc = rb_enc_from_index(opt->intern.enc.index);