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

Re: backend (was: http://www.bless.co.jp)



 斉藤です。
 なんだか、手を動かさないで口ばっかりで申し訳ありません。
#時間がほしい

土> で、さっそく試してみようとしたのですが…
 :
土> と言われて、起動すら出来ませんでした。これは fmInit の中で、端末の初期
土> 化に失敗して落ちているはずです(私の記憶が正しければ)。
 :
土> そうすると、comint では役不足で、完全な terminal emulator が必要だ、と
土> いうことになるのですが、M-x terminal-emulator RET w3m http://namazu.org/ RET
土> して情報を集めるとなると、これはかなり難しそうな気がします。

 全部 comint で wrap する必要もないんじゃないかと思います。
 今の設計でも表示やリンクをたどることはできてますから、端末側
 の表示機能ってあんまり必要ないですよね。
 comint の w3m は -dump で取れない redirect URL の情報を取る
 だけに使う、と(まずは)考えてはどうでしょう。

 なので、最低でも、process-connection-type を nil 以外にした
 非同期 process が作れればいけるんじゃないかと思っています。
 一応私も shell-mode と make-comint 、start-process で動作は
 確認してるんですが、 この fmInit は何をするものでしょうか?
 よろしければ教えてください。
#わかってなくてすみません。> fmInit

 terminal emulator の線で全部やろうとするとかなり辛いのは確かですね。

土> 更に難点として、redirect 問題は何とか解決できそうですが、斎藤さんの主
土> 眼であるところの、
 :
土> post メソッド対応には近づきそうにないということも気になります。

 えーと、まだ一人で想像してただけなんですけど、

  * 表示はボロボロだけど、comint で操作はできる w3m がいる(以下 comw3m)。
  * w3m.el も comw3m も同じページを開いている。

 のを前提とすれば、こういう連係もできるんじゃないですかね。

 1) w3m.el 上でユーザが form のリンクを選択する。
 2) w3m.el が、そのページ内で最初から選択したところまでの
    リンクの数を数える。
 3) comw3m へ "\t" を 2) の個数だけ、その後に "\n" を送る。
 4) comw3m が form の入力画面を表示する。けどボロボロなので無視。
 5) w3m.el はどの form が実行されたか知ってるから、それに従って
    ユーザに入力させる。<--(注1)
 6) その入力を comw3mに、あたかも直接キー入力したように投げる。
 7) comw3m が POST 結果のページに飛ぶので、その URL を取得し
   (comw3m に c を送って返事を読む)、それを w3m -halfdump へ
    投げてレンダリングする。<--(注2)

 まあ w3m -halfdump 側が View で、 comw3m が Controller ってとこかな。
 ちょっと違うか。


 注1) まずいのは TEXTAREA の入力時。w3m のエディタに emacsclient を
      登録しておけば大丈夫(?)だけど。
 注2) w3m -halfdump 側で取り直す時にまずそう。
      固定 URL へ飛ばされていればいいけど。

-=---Kazuo Saito(kazoo.saito@toshiba.co.jp)