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

Re: w3m.el with backend patch



>> On 20 Mar 2001 00:30:19 +0900
>> "suto" == suto@ks-and-ks.ne.jp (Kiyokazu SUTO) said as follows:

suto> 坂本氏がbackend patchを問題にしているのは、内部表現をそのまま使おうと
suto> している点です。内部表現はその時々の実装の都合で大きく変り得るから、変
suto> 更の制限となり得るパッチは取り込みたくない、ということだと私は理解して
suto> います。

suto> 例えば最近彼が出したhsaka24というパッチを当てると、internal useの空白
suto> のコードが0x80と0x81から0x90と0x91に変わります。0x80〜0x8Fの領域を
suto> tableの枠用の内部コードに使うためですが、こういうことが気軽にできなく
suto> なる(やろうとする場合の作業量が増える)backend patchのようなものは取り
suto> 込まれない、ということです。

なるほど、よく分かりました。

私の書き方がまずかったのだと思うのですが、私は内部形式の直接利用にこだ
わっているわけではありません。現在のような実装になっている理由は次の2
つだと思っています。

(1) -halfdump によって得られる内部表現が適切な界面となっていたから

(2) w3m を無改造で利用するには -halfdump オプションを利用するしかなかっ
    たから

ですから、-halfdump によって得られる内部表現を使うかわりに、より適切な
中間形式を定義して利用するという解決策はよく理解できますし、それが良い
こともよく分かります。現在の実装(および backend patch)がそうなっていな
いのは、w3m のコードについての私の理解が不足していて必要な改造を行うこ
とができなかった、ということです。

では、どういった中間形式が適当か、ということが問題になるわけですが、
-halfdump の結果は非常によい近似解になっているとは思います。具体的に
はloadHTMLstream 関数の phase2 までの結果を取り出し、内部コードを適当
な文字(またはタグ)に変換し、encoding などの処理を施して出力するという
のが良いと思います。

ですから、

suto> 最後にお願いですが、w3mmeeとの組み合わせで使っている身としては、文字の
suto> encodingの処理はできるだけw3mmee側に任せるようにして欲しいです。いずれ
suto> 本体に取り込まれると思われる坂本氏のw3m-m17nでも同様でしょう。

というのは理解できますし、こちらからお願いしたいくらいです。

中間形式の変化に w3m.el を追随させるのは非常に容易にできます。ですから、
須藤さんが作成されている baekend patch を公開してもらうわけには行かな
いでしょうか。


suto> ただしデメリットと相殺する以上のメリットがあれば、かなり大きな変更でも
suto> 取り込まれる可能性は十分にあると思います。backend.cを見ながら何となく
suto> 考えている段階ですが、backend protocolをもっと充実させていけば、文書の
suto> getとレンダリング、ユーザインターフェースを別プロセスにして、それらが
suto> 通信するためのprotocolに使えるのじゃないかと思います。こういう並列化に
suto> 使えるとなればオリジナルでも取り込まないわけには行かないでしょう。

Perl/Tk などで外枠のインターフェースを作成し、内部のレンダリングを 
backended w3m で行うなどの応用も考えられますね。


suto> # 実は現在作業中のw3mmeeの開発版にbackend patchを当てて色々と改造中で
suto> # す。改造版backend patchを前提とするw3m-backend.elというのも書きかけ
suto> # ています。

この記述を見てちょっと気になったのですが、須藤さんが利用されている 
w3m.el のバージョンはどうなっていますか? w3m.el は毎日のように拡張され
続けているので、なるべく CVS で最新版を取得していただくほうが良いと思
います。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
    http://www-nagao.kuee.kyoto-u.ac.jp/member/tsuchiya/