Namazu-devel-ja(旧)


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

Re: mknmzrcの読み込み制限



臼田です。

Tadamasa Teranishi wrote:

> > Yukio USUDA wrote:
> > >
> > > mknmzを見るとload_rcfilesの後にparse_optionでオプションを調べています。
> > > 単純に呼び出し順序を入れ替えられないように思えます。
> > 
> > がーん。そうでした。
> > まぁ、--norc だけ先に取り出すという手もありますが、美しくないですね。
> 
略
> 
> それはともかく、load_rcfiles を含めて、どのrcファイルがどういう
> 順番に読み込まれているのかは --debug を付けても出力されないので、
> わかりにくいですね。
> これも load_rcfiles がかなり前の処理だからですが...。
> -- 

load_rcfilesの中でutil::vprint()を使ってrcfilesを出力しようとして
いるのになぜ出てこないのかなと思いました。

で、pl/util.plのなかのvprintを見ると
 if ($var::Opt{'verbose'} || $var::Opt{'debug'}) {
という行が...

$var:Optは起動時オプションの内容が入るはずなので
これではparse_option後でないと意味がない。

現状で既に問題があるので対症療法で済ます理由はないように思えます。
自然な処理になるようにparse_optionはload_rcfilesの前に持っていくべきで
しょう。
それで、--norcも追加する。

parse_optionの実行時点を変えることによる不具合は
整理して解決しないといけませんが、結構むずかしそうですね。


とりあえず、mknmzrcの読み込みを抑制する話は
MKNMZNORCを参照することにして
load_rcfilesに
    return if defined $ENV{'MKNMZNORC'};
を一行追加してすませましょうか。(少し弱気です)

make checkでの動作も
tests/Makefile.amにMKNMZRCを一つ追加するだけで期待するものになりますし。

臼田幸生