Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 妙なNMZ.pができる問題



Tadamasa Teranishi 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に書いておくことになりますかね。

> 
> 変なバグではなくて、仕様変更で非互換になっていたということなら、
> NMZ.p が異なるので、見つかる/見つからないなどの振る舞いが異なる
> 程度だろうとは思います。
> -- 

仕様であったとしても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;
}

と終了させてしまってはどうでしょうか。

臼田幸生