Namazu-devel-ja(旧)


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

Re: ole フィルタ修正<<第一弾>>



臼田幸生

Tadamasa Teranishi wrote:
> >  
> > 現状でもfilter内で行っているもの、filter内で行わないもの(mknmzに返ってから
> > 行われているもの)両者があるので、基本的な処理の流れというものが
> > どちらなのかよくわかりませんが、影響を調べつつ他のフィルタと
> > 併せて修正していくことにしたいです。
> 
> これは gfilter::show_filter_debug_info() に影響するからですが、
> HEAD では、gfilter::line_adjust_filter($cont) から 
> gfilter::show_filter_debug_info() までまとめて mknmz 側に移動する
> というのが良いのだろうと思います。
> (このブロックはまとめてサブルーチン化するのが先か...。)
> 
賛成です。
filter_debug_infoは多段フィルタにのみ残して
フィルタからmknmz側に受け取ってから処理することにして
require gfiter をフィルタからなくしたいと思っておりました。
同じ処理が全フィルタに入っているのは変なので一箇所で済ませるのが
良いと思います。

> そうすることで、昨日修正したばかりですが、
> gfilter::line_adjust_filter($cont) の直前で行っている
> codeconv::toeuc($cont) は、post_codeconv が使えるようになるので、
> 死んでしまっている post_codeconv の機能が復活できます。
> (もっとも、コード変換後に加工処理を行うのが普通だと思いますので、
> post_codeconv の必要性はあまりないのですが...。)
> 
titleやauhorをフィルタ内で登録したければpost_codeconvで
contentの処理を指示するだけでは不足なのでpost_codeconvだけで
すませることができるフィルタは限られています。
必要性には疑問があります。
pre_codeconvは残しておいてpost_codeconvは廃止しても良いのでは?

> 一方、stable-2-0 の話は、filename_to_title だけなら、
> $fields->{'title'} = gfilter::filename_to_title($cfile, $weighted_str)
>     unless $fields->{'title'};
> という形なので、2重に呼び出しても問題ないわけなのですが、
もともと2重に呼び出しているのでフィルタ内で実行しているのが
不要だと思っていただけなので
問題がなければstableは当面現状維持で良いかと思います。

> mknmz 側に移ってしまうと、filename_to_title の中身を書き換えて
> 互換性をなくしてしまうとか、いろいろミスする可能性があるのでは
> ないかということです。
> # そんなミスをするのは、私だったりするのですが...。
filename_to_tilteもフルパスで渡さないとよくないとか
現在の仕様には疑問があるのでいずれ書き換えることになるのでしょう。

本当は修正をする際に問題が発生しないように
util.plとかgfilter.plの中のサブルーチンは単体テストを
できるようにしたいのですが、グローバル変数を参照していたり
お互いにrequireしあっていたりするのでどうもすっきりしませんね。

臼田幸生