From: Hidetoshi NAGAI Date: 2008-09-25T06:39:14+09:00 Subject: [ruby-dev:36535] Re: Encoding.default_internal のためのパッチ 永井@知能.九工大です. From: Yukihiro Matsumoto Subject: [ruby-dev:36523] Re: Encoding.default_internal のためのパッチ Date: Thu, 25 Sep 2008 00:49:10 +0900 Message-ID: > |Martin Duerst wrote: > |> [ruby-core:18774] に Michael Selig から Encoding::default_internal > |> の提案がありました。 > | > |まつもとさんに昼ごろ聞いたところ、まだ思案中のようです。 > | > |結局 default_internal ってのは multi-locale を指向する > |Ruby からすると逆行する存在なので、難しいところではあります。 > > 今日一日考えて、導入することにしました。 細かい仕様に関しては色々と意見はあるようですが, 私自身は少なくとも default_internal の導入自体は歓迎します. # 昔お願いしたけれども「グローバルな状態は入れない」ということで # 強く拒絶されたものと似ているような気もしないではないですが.(^_^; > 以下のような仕様を考えています。 > > * default_internalはIOでinternalを指定しなかった場合のエンコー > ディングである > * これが指定されている時IOからの入力は(バイナリでない限り)、 > このエンコーディングを持つ(必要なら変換する)。 外部のライブラリとのやり取りも IO に準ずるものと 考えてもよいですよね? > この結果、各種ライブラリは > > * 基本UTF-8を返せばよい、入力もUTF-8を期待 > * より親切なライブラリはdefault_internalで返す。入力は > encodingを見て対処 > > という二段階対応ができます。段階的に前者(レベル1)から、後者 > (レベル2)に移行すればよいのではないでしょうか。 外部のライブラリを用いる拡張ライブラリとしては, default_internal が空でなければ default_internal で, default_internal が空であるなら default_extenral で 返すようにするというのが基本でしょうか? > もちろんこれらの変更は本日のfeature freezeには間に合いません > が、悲鳴をあげたものだと見なしてください。できるだけ早急に > 1.9.1に取り込もうと思います。急いで考えたものなので見落とし > があるかもしれません。その場合は遠慮なく指摘してください。 拡張ライブラリ側は core の仕様が確定しないと動きづらいです. で,feature freeze が近づいてから core が色々といじられると 対応が全く間に合いません. # 「すべての変更に即座に対応し続ける」というのは, # さすがにご容赦を.(^_^) もし可能であるなら,リリーススケジュールにおいて, core の feature freeze から ext の feature freeze までに 少し間を空けていただけると助かります. -- 永井 秀利 (nagai@ai.kyutech.ac.jp) 九州工業大学 大学院情報工学研究院 知能情報工学研究系