Namazu-devel-ja(旧)


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

return 0 if %PhraseHash eq "0";



>                                            千葉市中央区長洲
>                                                    藤原  誠
藤> つまり整理すると、perl -d:DProf に限ってですが、
藤> LANG=C            ○
藤> LANG=ja           ○
藤> LANG=ja_JP.euc    ×
藤> unsetenv LANG     ○

と書きましたが、良く確めましたら、LANG= に ja で始まる文字列
が入っている時が問題でした。

unsetenv LANG     ○
LANG=C            ○

LANG=ja           ×
LANG=ja_JP.euc    ×
LANG=ja_JP.eucJP  ×

LANG=aja          ○
LANG=jp           ○
(最後の方はもしかして、と思って試しただけです)

寺> ただ locale に ja_JP.euc がないため、(臼田さんと同じで)C として扱われ
寺> ているので、藤原さんとは異なる環境なのかもしれません。
寺> 対応してそうな ja_JP.eucjp でやってみましたが、NMZ.p は生成されました。

NetBSD/1.6T の場合、/usr/share/locale の下の jaで始まる文字列は次のように
なっています。
(...share/locale)> ls -dl ja*
drwxr-xr-x  3 root  wheel  512 Nov 11  2002 ja/
drwxr-xr-x  2 root  wheel  512 Nov 11  2002 ja_JP.ISO2022-JP/
drwxr-xr-x  2 root  wheel  512 Nov 11  2002 ja_JP.ISO2022-JP2/
drwxr-xr-x  2 root  wheel  512 Nov 11  2002 ja_JP.SJIS/
drwxr-xr-x  2 root  wheel  512 Nov 11  2002 ja_JP.ct/
drwxr-xr-x  2 root  wheel  512 Nov 11  2002 ja_JP.eucJP/

で NetBSD/1.5E だと、
(...share/locale)> ls
da/           fr/           no/           pt_BR/
de/           ko/           no@nynorsk/   ru/
el/           locale.alias  pl/           sl/
es/           nl/           pt/           sv/
(...share/locale)> grep ja locale.alias
japanese        ja_JP.EUC

のようになっているのですが、ここでも全く同じでした。
(関係なかった)。

しかも、以前に、mknmz.in を並べ替えたら、問題が解決した

[namazu-devel-ja : No.03122] の次の記事の中で
藤> 実は、少し予想していたのですが -d:DProf しても NMZ.p* が出来
藤> ていました。
と書いたのは間違いでした。解決しません。

以上をまとめますと、(僕のまわりでは) 
LANG=ja.. Perl -d:DProf すると、
namazu-2.0.12, namazu-2.0.13, NetBSD/1.6T, NetBSD/1.5E
では、NMZ.p* が出来ない
でした。

で、次の変更をすると、これが「出来るように」なりました。
(まあ、もっとも、全ての組合せでは調べていませんが)
多分、この変更はした方がいいと思います。

 $PhraseHashLast{$hash} = 0
            ====
という初期化は確かにあるのですが..
---
(藤原)
http://www.ki.nu/software/namazu/tutorial

Index: namazu/scripts/mknmz.in
===================================================================
RCS file: /storage/cvsroot/namazu/scripts/mknmz.in,v
retrieving revision 1.85.4.32
diff -u -r1.85.4.32 mknmz.in
--- namazu/scripts/mknmz.in	9 Jul 2003 15:19:34 -0000	1.85.4.32
+++ namazu/scripts/mknmz.in	29 Jul 2003 03:18:21 -0000
@@ -2103,7 +2103,7 @@
 sub write_phrase_hash_sub () {
     my $opened = 0;
 
-    return 0 if %PhraseHash eq "0";
+    return 0 if %PhraseHash eq '';
     util::dprint(_("doing write_phrase_hash() processing.\n"));
 
     my $fh_tmp_pi = util::efopen(">$var::NMZ{'__pi'}");