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

Re: Disable status messages when minibuffer is used for user dialogue



>>>>> In [emacs-w3m : No.06134] 土屋さん wrote:

> 第3に,w3m-message() と w3m-display-message() って物凄く良く似た関数・
> マクロですよね.これらが2つバラバラに存在するのには,現在でも何らかの
> 理由はあるのでしょうか? 単に歴史的経緯だけが理由ならば,適当に合併して
> しまえば良いかと思ったのですが,どなたか反例を思いつく方はいらっしゃい
> ますか?

初めに w3m-message を作ったのは土屋さんで、その 11ヶ月後にぼくが
w3m-display-message を作っていますねえ。どうもぼくは w3m-message
の存在を無視してしまった感じがするなあ。^^;;
ぼくが w3m-display-message を作った目的は、*Message* バッファが

"Reading http:://hoge/image.jpg..."
"Reading http:://hoge/image.jpg...done"

のような、比較的どうでもいいもので埋まってしまって、もっと大事な
ものが追い出されて消えてしまわないように、表示はするけれどもそう
いった log を作らない `message' を提供することでした。

もう一つ必要な機能がありそうですね。表示はしないけれど log は残
すもの。

それと、表示しないときに format() と同じ動作をするのは、戻り値を
message() に合わせるためだと思うのですが、その際 log を残さない
のは問題かもしれません。

それらを統合するとしたら、いろんな機能を引数で切り換える十徳ナイ
フみたいな関数を作って、w3m-message や w3m-display-message とい
う macro で呼び出すことになるでしょうか。けっこう難しそう。

これに関連して、ぼくは一時やたらに macro を作っていましたが、表
示や通信に関わる処理が伴う場合には、funcall の overhead を無くし
たところで速度への貢献はあまり期待できないので、近ごろはやりすぎ
ない方が良いと思うようになりました。つまり、上に書いた十徳ナイフ
が macro である必然性は無いだろうということです。
-- 
Katsumi Yamaoka <yamaoka@jpl.org>