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

Re: w3m-message in the echo area



>> On Wed, 13 Jul 2005 10:46:56 +0900
>> 「山」== yamaoka@jpl.org (Katsumi Yamaoka) said as follows:

山> (defun w3m-message (&rest args)
山>   "[...]"
山>   (if w3m-verbose
山>       (apply (function message) args)
山>     (if (window-minibuffer-p (selected-window))
山> 	(apply (function format) args)
山>       (when (current-message)
山> 	    (run-at-time 1 nil 'FUNCTION ARGS))
山>       [...]

これだと,w3m-message() が連続して大量に呼ばれた場合(ex. w3m-antenna 
の reload 時)に,やっぱり w3m-message() の出力で echo area が埋め尽く
されてしまうのではないかと思います.

とりあえず,

  ・foreground context(= w3m-process-sentinel() から呼び出されていない
    時)は,チェックしない.
  ・current-message() が,w3m-message() が最後に表示したメッセージと一
    致するならば,上書きしても良い.

という対策を組み込んでみました.

それと,echo area をクリアする目的で (w3m-message "") を呼んでいる個所
がいくつかありましたが,これらのクリア処理は context によって評価され
たりされなかったりでは問題があるので,(message nil) に置き換えました.

-- 
土屋 雅稔 ( TSUCHIYA Masatoshi )