namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Win32 problem solved! (Re: Namazu v1.1.1-proto-2)
高林です
広瀬さんから Win32 用のパッチが届いたのでさっそくソースに組み込ん
だところ、 Win32 でもちゃんとまともに動くようになりました。ありが
とうございます > 広瀬さん。
広瀬さん>
>あと、win も $PSC を / にした方がいいような気がして来ました。。。
これはヒジョーに頭の痛い問題です。 Wi32 ではパスの区切りが \ なの
で、慎重に扱ってやらないと正規表現でこけたり、クォート中のエスケー
プに失敗したりと胃が痛くなってきます。
いっそのことすべて / に統一した方が私としても楽なのですが、ローカ
ル用途で使うことを考えると \ の方が親切かな、と思って \ で処理する
ことにしました。
広瀬さん>
>オーバーヘッドがどれくらい大きくなるか試してないのですが、以下の patch で
>引っかかることは無くなると思います。
NMZ.f を二度書き込んでいるわけですが、そんなに大したことはないでしょ
う。もちろん if ($SYSTEM eq "WIN32") {} でくくったので、 UNIX では
影響がでないようになっています。
今まで Win32 で謎のフリーズを起こしていたのは nkf と KAKASI のパイ
プが裏で平行に動作していたのがまずかったようですね。現に別のところ
では
open(LOCKMSGFILE, "|$NKF -j >$LOCKMSGFILE")
とやっていても問題ないわけですし。
# Win95 のマルチタスクが怪しいのかな?
というわけで、広瀬さんから頂いた Win32 対応パッチのマージも含めて
* Win32 で mknmz がちゃんと動作するようになりました
* 結果表示の際に URL の置き換えをするための設定 "REPLACE" を
namazu.conf にいれた
* URL 中の危険な文字を encode するようにした
* namazu.conf を指定するオプション -f を namazu につけた
* コンフィギュレーション内容を表示するオプション -C を namazu につ
けた
* plain text の時に URL encode を decode するオプション -U をつけ
た
といった変更を行いました。これは
<URL:http://saturn.aichi-u.ac.jp/%7Eccsatoru/Namazu/namazu-111-proto-4.tar.gz>
という名前で置いておきます。ほぼこれで v1.1.1 は完成ということにな
るかと思います。もう少し様子をみて安定したことを確認したのちに正式
にリリースしたいと思います。テストしてくださると助かります。
あと、それから馬場さんから頂いた errno によるエラーメッセージ表示
は GNU Win32 の gcc では sys_errlist[] が定義されていなかったとい
うことで、あえなくボツにすることになってしまいました (残念です)。
ごめんなさい。代わりの方法を考えてみます。
それではよろしくお願いします。
--
高林 哲 Satoru Takabayashi