Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 妙なNMZ.pができる問題
寺西です。
Yukio USUDA wrote:
>
> > ですね。よく Perl 5.8.1 で問題がおきているとお気づきになったものです。
> >
> > # 私なんて全然気づきませんでした。
>
> 藤原さんのwebサイトでFedoraで再現しているというのを見かけ
> nkfやOSが原因ではないことがわかりました。
何かの環境依存かなぁ程度にしか思えませんでした。
> > いや、そちらから攻めるのではなくて、Perl 5.8.1 の場合は、
> > 環境変数に PERL_HASH_SEED=0 を設定してください。
> > これは、Perl 5.8.1 で仕様変更された影響を防ぐためです。
> > Perl 5.8.0 および Perl 5.8.2以降でこの環境変数を設定しなくても、
> > 仕様変更の影響を受けません。
> >
> > で良いと思います。(フレーズの話は不要でしょう。フレーズ以外で影響が
> > でない保証はないですし。)
> >
> tutorial.htmlかmanual.htmlに書いておくことになりますかね。
ですね。
プログラム側はそろそろ安定してきたように思いますが、ドキュメント
側がまだ全然進んでいないので、そろそろそちらの修正に力を
いれないといけませんね。
> 仕様であったとしてもNamazuにとっては
> 正しくない検索結果の原因になるという点は致命的な気もします。
はい、そう思います。
> また、perl実行後にはこのパラメータが変更できない?ようなので
>
> if (($ENV{PERL_HASH_SEED} ne 0) && ($] == 5.008001)) {
> print "Run mknmz with the environment variable PERL_HASH_SEED=0\n";
> exit 1;
> }
>
> と終了させてしまってはどうでしょうか。
良いかもしれません。というより、この修正加える方に一票。
この修正をするならFAQに、
"Run mknmz with the environment variable PERL_HASH_SEED=0"
が表示されて mknmz が終了した場合は、環境変数 PERL_HASH_SEED に
0 を設定してご使用ください。程度のものを追加するだけでいいかも
しれません。
厳密には、Perl 5.8.1 を -DNO_HASH_SEED (とドキュメントに書いてあったが、
もしかすると間違っているかもしれません。)付きでコンパイルしたもので
あった場合には、環境変数 PERL_HASH_SEED は未設定でも正常動作する
可能性はありますが、そこまで厳密に対応する必要を感じないので、
上記の修正で妥当ではないかと思います。
まぁ、あとは Namazu のツール群をどうするかですが、ま、mknmz が
動かない状態でツール群を使うということもないので、ノーチェックで
良いでしょうね。
--
=====================================================================
寺西 忠勝(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