cpan

Encode 2.39 を Release したのでお知らせします。

きっかけは、こちら。

UTF-8 encoder doesn't support callback CHECK #Perl Kawa.netブログ(川崎有亮)/ウェブリブログ
先週リリースされた Encode 2.38 から、utf8 の encode/decode のチェックが変更になり、encode 時/decode 時ともに、フォールバックとしてコールバック関数を指定できなくなりました。

すみません。でも今までもきちんと動いてなかったのです。それでLWPの作者としても有名な Gisle Aas より「サポートしてないからcroakするようにしといたよ」patchが来て、それを無条件に当てたのですね。UTF-8のfallbackでcallbackが必要なシーンを自分で思いつけなかったこともあって。

しかし、よく考えてみると、必ず成功する--そのままバイト列として出力するだけのencodeとは異なり、バイト列を受け取ってUTF-8文字列にするdecodeの方はfacllbackする可能性がある以上、それをカスタマイズしたいという要望は当然ありうるわけです。

というわけで、UTF-8 transcoderでもfallbackにcallbackを指定出来るようになりました。

kawanet++

Dan the Encode Maintainer

$Revision: 2.39 $ $Date: 2009/11/26 09:23:59 $
! Encode.xs t/fallback.t
  $utf8 = decode('utf8', $malformed, sub{ ... }) # now works!
  http://rt.cpan.org/Ticket/Display.html?id=51204
! t/CJKT.t t/guess.t t/perlio.t
  $ENV{'PERL_CORE'} tricks removed since they are no longer necessary.
  Message-Id: <20091116161513.GA25556@bestpractical.com>