Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: namazu 2.0.13 公開 + 動作チェックに協力していただける方募集
- From: Tadamasa Teranishi <yw3t-trns@xxxxxxxxxxxxxxx>
- Date: Sun, 11 Apr 2004 23:19:18 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 04137
- References: <40703324.6D9A894@asahi-net.or.jp>
寺西です。
Perl 5.8.0 環境で LANG=en_US.UTF-8 の状態で、mknmz を動かすと、
mailnews.pl の中の EUC-JP 文字列が原因でエラーを起こすことが
わかりました。(おそらく man.pl でも起こるでしょう。)
Malformed UTF-8 character (unexpected continuation byte 0xb7, with no
preceding
start byte) at ../filter/mailnews.pl line 186.
Perl 5.8.0 の仕様変更により、
「ロケールに en_US.UTF-8 を指定していたのなら, STDIN 及び STDOUT は
暗黙のうちに binmode(..., ":utf8") を行ったかのように自動的に "UTF-8"
になります」
http://fleur.hio.jp/perldoc/perl/5.8.1-RC4/perldelta.ja.html
ということでした、これは Perl 5.8.1 からこの機能は撤回されました。
(つまり、Perl 5.8.1 以降は起こらない)
試しに、
Perl 5.8.0 で作成した namazu-2.0.13RC3 で
$ env LANG=en_US.UTF-8 make check
を実行すると、mailnews.pl でエラーが発生しますが、
Perl 5.8.1 で作成した namazu-2.0.13RC3 で
$ env LANG=en_US.UTF-8 PERL_HASH_SEED=0 make check
を実行すると、mailnews.pl のエラーは発生しませんでした。
やれやれ、Perl 5.8.0 の時は 5.8.1 の時のように、LANG のチェックを
して、警告を出して停止させますかね。
解決策としては、
・Perl 5.8.0 では C ローケルを使用する。
・Perl 5.8.1 以降を使う。
ということを FAQ にでも書きますか。
# Perl 5.8 系は、5.8.3 以降推奨ですな。
--
=====================================================================
寺西 忠勝(TADAMASA TERANISHI) yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint = 474E 4D93 8E97 11F6 662D 8A42 17F5 52F4 10E7 D14E