[Rejected] EncDet again

Issue #973 has been updated by Yusuke E…

Status changed from Assigned to Rejected

遠藤です。

実装があるものに対してrejectはないかなと思っているので
まつもとさんがコメントしないと永久に棚晒しじゃないですかねえ

実装がある feature チケットでも、

たなざらしにする
→ feature チケットがたまる
→ より一層 feature チケットをみなくなる
(まつもとさんだけでなく誰も)

という悪循環になるだけだと思うので、進展の気配が感じられない
ものは一旦 reject します。

ついでにコメント。

現状rdoc絡みやerb周りなど、EncDetを再発明しようとした挙句に失敗してしまった例が散見されており、
そろそろこのライブラリは標準添付しないと悪しき遺産を残しかねないと憂慮しています。

というのが 2 年前の話なので、まずは現状どうなってしまったか
(悪しき遺産は残りまくっているか) を調べてみるのはどうでしょう。

また、API や名前の議論ばかりされていますが、ユースケースとして
挙がっている RDoc 、ERB 、IRB で本当に使えるのか、という議論
がされていなかったように思います。
当時どうなっていたかは見てませんが、現状を見てみました。

  • RDoc
    magic comment をただ取り除くコードはあるけれど、encoding 名を
    抽出して何かに使う箇所は見つからない。

  • ERB
    magic comment から encoding 名をパースしているが、それは生成
    されるコードに magic comment を付けるためだけに使われ、文字列
    自体は ASCII-8BIT として処理されている。

  • IRB
    magic comment から encoding 名をパースして、その元 IO に set_
    encoding している。

ということで、現状提案されていた API がそのまま通用しそうなのは
IRB だけな気がします。

主に grep で適当に調べただけなので間違ってたらすみません

ただし、この実装が RDoc や ERB のバグだとしたら (encoding 名を
ちゃんと使わないといけないのに使ってない、など) 、逆にやはり
必要ということになるかもしれません。

reopen する際は、この辺を調査して議論の材料とするといいかもしれ
ません。


Yusuke E. [email protected]

Feature #973: EncDet again

Author: Yuki S.
Status: Rejected
Priority: Normal
Assignee: Yukihiro M.
Category:
Target version: 2.0.0

=begin
Yuguiです。

ZnZさんの日記(http://znz.s1.xrea.com/t/?date=20090102#c01 )経由でかつて
のEncDetライブラリの議論[ruby-dev:33628]を思い出しました。

さて、現在私が知る限りRDocとERBとIRBがそれぞれ独自にマジックコメントを解
釈してファイルを開く機能を実装しています。この重複具合は何らかの共通化の
必要性を示しているのではないかと思います。

前の議論ではファイル名で主に意見が一致せずに発散してしまったようです。
encdet.rb ↔ encoding/detector.rb

私はIOへの機能追加が良いのではないかと思いました。
io/encdet.rb
IO::magic_open(*args) → 内部でIO::openを呼び出し

実装を調整しないとランダムアクセスできないIOでは困るわけですが。


Yugui [email protected]
http://yugui.jp
私は私をDumpする
=end