Namazu-users-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
「文書の一部を検索対象から外す」パッチで不具合
- From: "Mitsuhiro Yamamura" <m.yamamura@xxxxxxxxxxxxxxxx>
- Date: Fri, 17 Jan 2003 21:46:30 +0900
- X-ml-name: namazu-users-ja
- X-mail-count: 03015
山村です。
ML1069あたりのスレッドにある、「文書の一部を検索対象から外す」
パッチを最近まで重宝させていただいていました。
http://www.namazu.org/ml/namazu-users-ja/msg01068.html
わたしの所属する会社は、企業さんのオフィシャルページを請け
負わせてもらうことが多いので、大量にひっかかるナビゲーション
を消すことのできるこの手法は非常に実践的なのです。
さて、今回Namazuをバージョン2.0.12に上げたのですが、この
機能の挙動が突然怪しくなりました。
藤原さんに紹介していただいているパッチを、再度転載させて
いただきます。
〆----------------------------------------------------
--- .mknmzrc
sub pre_filter {
my($contref) = shift;
$$contref =~ s/<!--X-Namazu-Ignore-Begin-->.*<!--X-Namazu-Ignore-End-->//gs;
}
1;
--- /usr/local/bin/mknmz Wed Oct 18 13:27:08 2000
+++ ./mknmz Tue Nov 21 13:47:46 2000
@@ -727,6 +727,10 @@
$$contref = util::readfile($cfile);
# $file_size = length($$contref);
+ if ( defined(conf::pre_filter())) {
+ conf::pre_filter(\$$contref) ;
+ };
+
# Filtering process.
my $mtype;
my $called_dt = 0;
----------------------------------------------------〆
上の改造を施したmknmzを2.0.12で起動すると、まずLinux版は
93/214 - /home/dir/somefile.html [text/html]
Use of uninitialized value in substitution (s///) at /home/dir/.mknmzrc line 214
, <GEN3> line 94.
このようなエラーを連発します。
さらにWindows版で同じことをすると、こちらのほうが問題は深刻
なのですが、mknmz時に半分ハングアップしているのではないかと
思えるぐらい時間がかかってしまいます。午前1時にmknmzを開始
して、午後12時近くになるまでCPU100%状態を保ち続けるらしい、
のです(らしいというのは、まだわたしが直接実機を見る機会を作れ
ていないためです)。
2.0.10までは、このような症状は見られませんでした。
2.0.11は試していません。
未だに正式版に取り込まれていないパッチですので、当てて不具
合が出てもしょうがない話かとは思うのですが、もはやこのパッチなし
にはNamazuが使えないぐらい、一部消しに依存してしまっています。
エラーメッセージを元にハックしようかとも思ったのですが、Use of
uninitialized valueなどと言われても、置換演算子の中に変数は見当
たらず…
どんな些細でも結構ですので、解決の糸口をお持ちの方はいらっ
しゃいませんか? 直接の解決法、ハックのためのポインタ、なんでも
結構です。
----------
山村光弘 m.yamaura@xxxxxxx