[mew-dist 27903] Re: incでカーソルがeobに移動しないことがある
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2007年 11月 29日 (木) 10:40:30 JST
白井です。
From: KOIE Hidetaka (鯉江英隆) <hide at example.com> さん曰く
Subject: [mew-dist 27891] Re: incでカーソルがeobに移動しないことがある
Message-ID: <20071120.185129.134456685306635125.koie at example.com>
Date: Tue, 20 Nov 2007 18:51:29 +0900 (JST)
> | Emacs のバグを回避する方法を思いつきました。試してみて下さい。
>
> 不思議とこのパッチでうまくいっています。
ぼくの環境では元ネタの
>> - メッセージを表示 (現在のメールに下線が付く)
>> - C-x 1 (現在のメールに下線は付いたまま)
>> - i
で EOB に動かない、という現象自体の確認ができなかったのですが、
> | (defun mew-unhighlight-cursor-line ()
> | ! (if (overlayp (mew-sinfo-get-cursor-line))
> | ! (move-overlay (mew-sinfo-get-cursor-line) 1 1)))
> |
> | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> | ;;;
> | --- 38,48 ----
> | (save-excursion (beginning-of-line) (point)))))
> |
> | (defun mew-unhighlight-cursor-line ()
> | ! (when (overlayp (mew-sinfo-get-cursor-line))
> | ! (move-overlay (mew-sinfo-get-cursor-line) 1 1)
> | ! ;; (goto-char (point-max)) works wrong if underline exists.
> | ! ;; Redisplays it so that it works well.
> | ! (sit-for 0)))
の変更以降、例えば以下の現象が発生します。
『summary の一番上のメッセージが上方に隠れている状態で、任意のメッ
セージに delete mark をつけて exec すると一瞬 summary が
(goto-char 1) した状態で表示されてしまう』
です。もちろんパッチの sit-for() を外せば問題無しです。
ぼくの環境だと、Solaris も Zaurus も Meadow もみんなそうなります。
全部、ほとんど同じ Emacs 23.0.50(Meadow 含む)だからかしら?
手元で mew-unhighlight-cursor-line() をいろいろといじってみまし
たが、この現象は収まりませんでしたので、
(defun mew-unhighlight-cursor-line ()
(when (overlayp (mew-sinfo-get-cursor-line))
(move-overlay (mew-sinfo-get-cursor-line) 1 1)
(when 「なにかの判定」
(sit-for 0))))
と「なにかの判定」を入れて sit-for() を実行するかどうか決められ
れば良いと考えたのですが、元ネタの「i で EOB に動かない」が再現
出来ないのでさっぱりわかりせん。
# 最悪 オプションかしら?
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内