[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37293] Re: m17n of irb

From: "Yugui (Yuki Sonoda)" <yugui@...>
Date: 2008-12-07 02:41:42 UTC
List: ruby-dev #37293
Yuguiです。

Yukihiro Matsumoto さんは書きました:
> まずsource encodingについては
> 
>   * loadはmagic commentを理解します
>   * evalはソース文字列のencodingをsource encodingとして解釈
>     するので、文字列のencodingを適切に設定すればdefault
>     source encodingを指定する必要はないのでは
> 
> とすると、loadでmagic commentがついてないファイルをUS-ASCII
> 以外として読み込みたいというかなりレアケース以外では特別な対
> 応は不要ではないでしょうか。そのようなケースでもソースを読み
> 込んでencodingを設定してevalすればよいわけですし。

問題なのはirbやerbで-Kを指定して、その中でmagic commentの付いていない
ファイルをloadするというレアなケースだけです。

-Kはもともと1.8互換性のためのものと理解していますから、irbやerbではサ
ポートの必要なしというのも1つの選択肢です。一方、irbができるだけrubyコ
マンドのように振る舞うことを期待するならば、irbのためだけにはscript
encodingを設定できないと困ります。


では残りのdefault_externalとdefault_internalについて。

私は、デフォルト、特にdefault_internalが起動後に変化するのは危険だと思っ
てます。既に述べたように開いてしまったリソースがあるかもしれませんし、ラ
イブラリにむやみに設定して欲しくありません。

ただ、irbのように確かにそれを必要とする事例があるわけです。我々の想像の
及ばない似たようなケースが存在するかもしれません。だから、default_
{internal,external}のsetterを付けるかどうかと言うのは、どの程度「自分の
足を撃ち抜く自由」を認めるかという問題です。
勿論まつもとさん次第ですけれども、認めちゃって良いんですか?

== 現状
* irb -K, erb -Kは必要か?
  YES => script encodingの設定方法が必要(RubyレベルかC APIかは別)
  NO  => 問題なし

* エンコーディングのデフォルトをRubyレベルで変更できるべきか?
  YES => setterメソッド追加で解決
  NO => IRB.parse_optsの拡張ライブラリ化で解決

この判断をまつもとさんにお願いしたく思います。

-- 
Yugui <yugui@yugui.jp>
http://yugui.jp
私は私をDumpする

In This Thread