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

real asynchronous excute (Re: Progress Report)



こんにちは、菅原です。

>>>>> In [emacs-w3m : No.01146] 
>>>>>	TSUCHIYA Masatoshi <tsuchiya@pine.kuee.kyoto-u.ac.jp> wrote:
土> □ 非同期化
土>    --> データの取得を待っている間 Emacs が使えないのは、かなり使いづら
土>        いので、データの取得を非同期化したい

をやってみたんですがどうでしょうか?
ただ、僕の力量不足と理解不足の為かなり強引で汚ないものになってると思い
ます。
さらに用語等かなり間違っているかもしれません (^^;;

追加した主な変数と関数は、
変数:
w3m-real-async
 w3m を非同期で起動するかを起動するかを制御します。
 t なら非同期で、 non-nil なら w3m-async-exec に従います。

w3m-exec-handler
 w3m を起動した後に実行されるハンドラ。
 実はただのリスト。
 
関数:
w3m-regist-handler
 w3m を起動した後に実行されるハンドラを登録します。
 w3m-do-it があると次に登録されたハンドラがそこに入りこみます。
 w3m が起動中なら、エラーを返します。
 
w3m-initialize-handler
 w3m-exec-handler を nil に初期化します。

w3m-handle-handler
 ハンドラを実行し、nil に初期化します。
 
です。

やっている事は real-async が non-nil なら次々にハンドラに動作を登録
していく。w3m を起動する場所、または行き止まりにきたらハンドラの実行を
する。という事です。

--
菅原 泰樹
taiki.s@cityfujisawa.ne.jp

Attachment: w3m.el.patch.gz
Description: Binary data