Namazu-win32-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: 半角カナ対応パッチの質問
- From: "Yoshinori.TAKESAKO" <takesako@xxxxxxxxx>
- Date: Mon, 19 Mar 2001 08:40:53 +0900
- X-ml-name: namazu-win32-users-ja
- X-mail-count: 00722
竹迫です。
足立さん、原田さん、ご報告ありがとうございます。
In Subject [namazu-win32-users-ja] 半角カナ対応パッチの質問,
"Hiroshi ADACHI <adachi@xxxxxxxxxxxxxxxxxxxxxx>" said:
>「全文検索システム Namazu 2.0.5 for Win32 半角カナ対応パッチ」ですが、
>今まで不都合なく使ってきたのですが、mknmzrc の読み込みでおかしな点を
>見つけました。
>
>mknmzrcで
>$ADDRESS = 'hoge@xxxxxxxxxxxx';
>と記述しても、
>
>インデックスによって吐き出される NMZ.foot.ja では、
><a href="mailto:webmaster@xxxxxxxxxx">webmaster@xxxxxxxxxx</a>
>となってしまいます。
>もしかして、うまく読み込めてい何のではないかとおもいます。
こちらでも試してみたところ、同じ現象が確認できました。
実は、「Namazu 2.0.5 for Win32 半角カナ対応パッチ」は、namazu 2.0.5
リリース以降に修正された最新の mknmz.in をベースにパッチが当てられて
いるため、リソースファイルの読み込みに際して挙動が異なっています。
最新の mknmz.in には、以下の問題に対する修正が含まれていて、これが
原因で不具合が生じてしまっているのではないかと思います。
・[namazu-win32-users-ja 00396] Re: Namazu 2.0.5 was released.
ルートディレクトリ以外にインストールしたとき?に、動作しない
http://www.namazu.org/ml/namazu-win32-users-ja/msg00395.html
ソースを追いかけてみると、mknmzrc を読み込んだ後に conf.pl を
読み込んでいて、設定が上書きされてしまっているようです。
>試しに、nmz205.exe を上書きインストールし、mknmzrcを同じにすると、
><a href="mailto:hoge@xxxxxxxxxxxx">hoge@xxxxxxxxxxxx</a>
>となります。これが本来の仕様ですよね。
その通りです、申し訳ありません。(^^;
この不具合に対する対処方法ですが、今のところ以下の3つが考えられます。
お手数をお掛けしますが、どれか一つの方法で対処をお願いいたします。
(1) mknmz を修正する
mknmz の不具合部分を修正して問題を回避する方法です。
--------▼ Namazu 2.0.5 for Win32 半角カナ対応の mknmz ▼--------
77: sub main {
78: my $start_time = time;
79:
80: init();
81:
82: # To support Windows. Since they have nasty drive letter convention,
83: # it is necessary to change mknmzrc dynamically with env. variable.
84: load_rcfile($ENV{'MKNMZRC'}) if defined $ENV{'MKNMZRC'};
85:
86: load_modules();
87: load_rcfiles();
--------▲ Namazu 2.0.5 for Win32 半角カナ対応の mknmz ▲--------
mknmz の 86行目にある load_modules() の位置を以下のように変更します。
--------▼ 修正後の mknmz ▼--------
77: sub main {
78: my $start_time = time;
79:
80: init();
81: load_modules(); ### ← 元の位置に戻す
82:
83: # To support Windows. Since they have nasty drive letter convention,
84: # it is necessary to change mknmzrc dynamically with env. variable.
85: load_rcfile($ENV{'MKNMZRC'}) if defined $ENV{'MKNMZRC'};
86:
87: load_rcfiles();
--------▲ 修正後の mknmz ▲--------
修正後、以下のコマンドを実行して、mknmz.bat を生成します。
$ cd c:\namazu\bin
$ pl2bat mknmz
ただし、この方法だとルートディレクトリ以外に namazu をインストールした
ときに動作しないようになってしまいます。
※ [namazu-win32-users-ja 00396] 参照
(2) mknmzrc を明示的に読み込むようにする
mknmz の修正が難しい場合は、実行時に以下のオプションを指定して
明示的に mknmzrc を読み込むようにします。
mknmz --include=c:\namazu\etc\namazu\mknmzrc
もしくは
mknmz -I c:\namazu\etc\namazu\mknmzrc
(3) conf.pl に設定を書き込む
これは、あまりお勧めできる方法ではありませんが、
C:\namazu\share\namazu\pl\conf.pl の設定を直接変更してしまうものです。
Namazu 2.0.6 リリースまでに、この問題が解決できると良いのですが... (^^;
mknmz のリソースファイルの読み込みに関しては、他に以下のような
問題もあり、根本的な解決には少し時間がかかりそうです。
・mknmzrc で指定した $FILTERDIR 以下の *.pl フィルタが読み込まれない
http://www.namazu.org/ml/namazu-devel-ja/msg01280.html
--
広島市立大学 情報科学部 情報機械システム工学科
竹迫 良範 <takesako@xxxxxxxxx>