From: Takahiro Kambe Date: 2008-09-10T19:52:31+09:00 Subject: [ruby-dev:36248] Re: GNU iconv dependency In message <48C544C3.6090607@airemix.jp> on Tue, 9 Sep 2008 00:23:16 +0900, "NARUSE, Yui" wrote: > > 1. GNU iconvにどっぷりと依存したコードは(テストと言えども)Ruby本体に > > 含めないで欲しい。含めるのであれば、GNU iconvに依存していることを > > よーくわかるようにして欲しい。 > > テスト以前に、 > * Iconv.list > * Iconv.ctlmethods > * Iconv#trivial? > * Iconv#transliterate? > * Iconv#discard_ilseq? > など、Ruby の Iconv ライブラリってそもそも全体的に GNU 寄りなんですよね。 > なので、Iconv は glibc iconv か GNU libiconv 前提って割り切りでも > いいんじゃないかと思います。 要は、 glibc iconv/GNU libiconvでない環境になった途端に動かなくなる アプリケーション というものの作成を抑制する方向に向けていただければ言うことありません。 > > 2. GNU iconvの独自の変換指定の文字列に対して、ウォーニングを出すような > > オプションか何かがあれば、なお良い。 > > また、glibc iconv や libiconv は規格に反して、変換元では valid だが、 > 変換先に対応する文字が存在しないケースでも終了してしまうので、 > それの回避のために指定するケースがあるのではという考察もありました。 > http://www.hi-matic.org/diary/?20080903#03-2 __ICONV_F_HIDE_INVALIDフラグ、思い出しました。 > 結局独自仕様の回避のために独自仕様が必要という泥沼にはまっているので、 > //IGNORE だけ warning を出せばいいという問題でもないんじゃないですかねぇ。 「使ってくれるな!」と、主張することも重要かと。:-) Ruby 1.9以降からは String#encode という強い味方もいるわけですから。 -- 神戸 隆博(かんべ たかひろ) at 仕事場