Bug #862
closedr20625 default_internal is nil.
Description
=begin
高尾宏治です。
trunk の r20625 以降、コマンドラインオプションで渡した
default_internal が nil になっています。
$ svn up -r20624 && make && ./ruby -Eutf-8:utf-8 -e 'p([Encoding.default_external, Encoding.default_internal])'
[#Encoding:UTF-8, #Encoding:UTF-8]
$ svn up -r20624 && make && ./ruby -Eutf-8:utf-8 -e 'p([Encoding.default_external, Encoding.default_internal])'
[#Encoding:UTF-8, nil]
調べたところ、コマンドラインオプションの default_internal を適切に処理したあとで、
shebang の default_internal を解析します。
そして、shebang に default_internal の指定がなかった場合、
強制的に default_internal に nil を設定しているようです。
r20624 までは、default_internal を再設定できなかったため問題なかったようです。
以下の修正で手元では問題が解決しています。
Index: ruby.c¶
--- ruby.c (revision 20679)
+++ ruby.c (working copy)
@@ -1244,7 +1244,7 @@
enc = rb_enc_from_index(opt->intern.enc.index);
rb_enc_set_default_internal(rb_enc_from_encoding(enc));
}
- else
- else if (!rb_default_internal_encoding())
/* Freeze default_internal */
rb_enc_set_default_internal(Qnil);
=end
Updated by yugui (Yuki Sonoda) about 16 years ago
- Assignee set to nobu (Nobuyoshi Nakada)
- Priority changed from 3 to Normal
- Target version set to 1.9.1 Release Candidate
=begin
=end
Updated by matz (Yukihiro Matsumoto) about 16 years ago
=begin
まつもと ゆきひろです
In message "Re: [ruby-dev:37409] [BUG:trunk] r20625 default_internal is nil."
on Sat, 13 Dec 2008 00:48:09 +0900, Takao Kouji kouji@takao7.net writes:
|trunk の r20625 以降、コマンドラインオプションで渡した
|default_internal が nil になっています。
|以下の修正で手元では問題が解決しています。
コミットしてください。
=end
Updated by kouji (Kouji Takao) about 16 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
=begin
Applied in changeset r20720.
=end