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

Re: Merged experimental-async branch to main trunk



>> On Thu, 15 Nov 2001 11:23:08 +0900
>> 「土」== tsuchiya@pine.kuee.kyoto-u.ac.jp (TSUCHIYA Masatoshi) said as follows:

土> (5) w3m-antenna / w3m-weather などの機能は、まだ非同期化されていま
土> せん。

これらの非同期化されていない関数は、w3m-process-with-wait-handler とい
うマクロを使って、非同期処理の終了を待つという実装になっているのですが、
場合によって、非同期処理の戻り値を検出し損ねることがあるようです。その
ため、antenna の表示がおかしくなるなどの弊害が出ています。

しかし、終了を検出する部分を厳格にしてみると、今度は無限ループになって
しまうことがあります。

この問題を回避するため、

    (a) w3m-process-with-wait-flag の中で C-g が効くようにしてみました。
    (b) w3m-process-timeout という新しい変数を導入して、指定された時間
        が経過するとエラー終了するようにしました。

これで、少なくとも無限ループになることは避けられると思います。

開発者の皆さんへの連絡ですが、w3m-process-inhibit-quit という変数で 
inhibit-quit を制御するようにしました。非同期化周辺をデバッグしている
最中に、プロセスを中断したい場合はこの変数を nil にしてください。そう
すると、process sentinel function を実行中でも C-g が効くようになりま
す。

新機能として、Emacs21 でページを取得中のタブの色を変えてみました。

-- 
土屋 雅稔  ( TSUCHIYA Masatoshi )
;; というわけで、凍ってしまうかも知れませんがごめんなさい > 白井さん