summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ruby.c3
-rw-r--r--test/ruby/test_rubyoptions.rb4
3 files changed, 12 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 73ab994aa4..a960582061 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -51,6 +51,14 @@ Thu Oct 16 14:30:30 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* instruby.rb (lib): installs all files other than README etc.
+Thu Oct 16 08:14:39 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * ruby.c (proc_options): no warning when default_external already
+ set by -E.
+
+ * test/ruby/test_rubyoptions.rb (TestRubyOptions#test_rubyopt):
+ put -K after -E to set script encoding.
+
Thu Oct 16 06:20:36 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* test/ruby/test_transcode.rb (TestTranscode#test_errors):
diff --git a/ruby.c b/ruby.c
index edce4777bc..881ebe7fb2 100644
--- a/ruby.c
+++ b/ruby.c
@@ -814,7 +814,8 @@ proc_options(int argc, char **argv, struct cmdline_options *opt)
}
if (enc_name) {
opt->src.enc.name = rb_str_new2(enc_name);
- set_external_encoding_once(opt, enc_name, 0);
+ if (!opt->ext.enc.name)
+ opt->ext.enc.name = opt->src.enc.name;
}
s++;
}
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index af4ca282ee..ebe6023b04 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -208,8 +208,8 @@ class TestRubyOptions < Test::Unit::TestCase
ENV['RUBYOPT'] = '-T4'
assert_in_out_err([], "", [], /no program input from stdin allowed in tainted mode \(SecurityError\)/)
- ENV['RUBYOPT'] = '-KN -Eus-ascii'
- assert_in_out_err(%w(-KU -Eutf-8), "p '\u3042'") do |r, e|
+ ENV['RUBYOPT'] = '-Eus-ascii -KN'
+ assert_in_out_err(%w(-Eutf-8 -KU), "p '\u3042'") do |r, e|
assert_equal("\"\u3042\"", r.join.force_encoding(Encoding::UTF_8))
assert_equal([], e)
end