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