Namazu-devel-ja(旧)


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

mknmzrc で指定した $FILTERDIR 以下の *.pl フィルタが読み込まれない (namazu-bugs-ja#45)



Full_Name: TANAKA Tomonari
Version: 2.0.5
OS: Win32 
Submission from: pc045240.tokyo.ppp.waseda.ac.jp (133.9.45.240)


独自のフィルタ(tdf.pl)を作り、
デフォルトの $FILTERDIR(c:/namazu/share/namazu/filter/)以下に置いたら
正常に動作した。

しかし mknmzrc にて

$FILTERDIR = "d:/tom/diary/filter";

のように変更し、そちらに tdf.pl を置いても、
このファイルが読み込まれず、フィルタとして認識されない。

mknmz を見てみた所、
load_filters() を呼ぶのは、
load_modules() とload_win32modules()。
後者は除外して、前者は、
main() で init() の次に呼ばれる。
この時点では load_rcfiles() は読み込まれておらず、
$FILTERDIR はデフォルト値のまま。

このあと option 処理で load_rcfiles() が読み込まれ、
$FILTERDIR の値が更新されるが、
その後 load_filters() を呼ぶことはないので、
結果として mknmzrc での $FILTERDIR の設定は意味を持たないことになる。

load_filters() と load_rcfile() に適宜 warn を置いてみた所、

load filters at c:/namazu/bin/mknmz line 400.
bzip2 at c:/namazu/bin/mknmz line 422.
compress at c:/namazu/bin/mknmz line 422.
excel at c:/namazu/bin/mknmz line 422.
gzip at c:/namazu/bin/mknmz line 422.
hnf at c:/namazu/bin/mknmz line 422.
html at c:/namazu/bin/mknmz line 422.
mailnews at c:/namazu/bin/mknmz line 422.
man at c:/namazu/bin/mknmz line 422.
mhonarc at c:/namazu/bin/mknmz line 422.
msword at c:/namazu/bin/mknmz line 422.
pdf at c:/namazu/bin/mknmz line 422.
powerpoint at c:/namazu/bin/mknmz line 422.
rfc at c:/namazu/bin/mknmz line 422.
taro at c:/namazu/bin/mknmz line 422.
tex at c:/namazu/bin/mknmz line 422.
load rcfile: C:\namazu\etc\namazu\mknmzrc mknmzc:/namazu/bin/mknmz81 at
c:/namazu/bin/mknmz line 242.
load rcfile: c:/namazu/etc/namazu/mknmzrc mknmzc:/namazu/bin/mknmz233 at
c:/namazu/bin/mknmz line 242.
load rcfile: d:/tom/diary/namazu/mknmzrc mknmzc:/namazu/bin/mknmz1059 at
c:/namazu/bin/mknmz line 242.
検索対象のファイルを調べています...
...

となりやはり rcfile を読み込んだあとはフィルタを再走査しないようだ。

$FILTERDIR の指定が有効になってもらえるとうれしい。