namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 mknmz in namazu-1.3.1.0-pre-9
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Fri, 12 Feb 1999 19:31:27 +0900
清水@住友林業です。
まだ mknmz が不完全です。
例によって WIN32 or OS/2 で NKF.pm を使う際に、
  [H:\project\namazu\namazu-1.3.1.0-pre-9\src] perl ./mknmz
  Can't spawn "module_nkf": No such file or directory
  |module_nkf -s: No such file or directory
となります。これは、mknmz に引数を与えずに起動すると、
      require_modules();
を通るよりも前に
      parse_command_line_options();
の中で  usage(); を呼び出してしまうからです。
つまり、$CCS は sjis で、かつ、$conf::USE_NKF_MODULE  が '1' に設定
されていないので、
 sub usage () {
    if ($conf::LANGUAGE eq "ja") {
	if ($CCS eq "euc") {
	    print STDERR $conf::USAGE_JA;
	} elsif ($CCS eq "sjis") {
	    if ($conf::USE_NKF_MODULE) {
		require NKF;
		print NKF::nkf("-s", $conf::USAGE_JA);
	    } else {
		my $fh_nkf = util::fopen_or_die("|$conf::NKF -s");
		print $fh_nkf $conf::USAGE_JA;
	    }
	}
    } else {
	print STDERR $conf::USAGE_EN;
    }
    exit;
 }
の中で
  my $fh_nkf = util::fopen_or_die("|$conf::NKF -s");
が実行され、その際に $conf::NKF の値が 'module_nkf' となっているからです。
in [namazu 121] 
> util::dprint() の方をあきらめるか、 usage() で NKF モジュールを呼
> び出すかで迷って、結局後者にしました。手元の版では直っています。
えーと、$conf::USE_NKF_MODULE の値が設定されるのは require_modules(); 
の中なので、require_modules(); を通るよりも前に
 	    if ($conf::USE_NKF_MODULE) {
という条件分岐が usage(); 内でなされること自体が、そもそもの誤りです。
内部 EUC な環境では絶対に顕在化しないので、なかなか面倒だとは思いますが
よろしくお願いします。
 
end
--
  住友林業株式会社  情報システム部   清水 和佳
 
  TEL: +81-3-5322-6672  FAX: +81-3-5322-6658  Niftyserve: XLW01034
  e-mail: <kshimz@xxxxxxxxx>