[Mew-dist 16068] invisible vs display-timer (was: a patch for b99)
Hideyuki SHIRAI ( 白井秀行 )
shirai at example.com
2001年 1月 26日 (金) 21:01:37 JST
From: Kazu Yamamoto (山本和彦) <kazu at example.com> さん曰く
Subject: [Mew-dist 16001] a patch for b99
Message-ID: <20010120.154744.74700356.kazu at example.com>
Date: Sat, 20 Jan 2001 15:47:23 +0900
kazu> (2) Summary の thread info を invisible にするコードを改良
kazu> しました。これにともない、カーソルが行末に移動してしまうバ
kazu> グも取れているはずです。invisible 関係は、これを基に議論し
kazu> ましょう。
やっぱり、(というか当然)
From: KOIE Hidetaka (鯉江英隆) <hide at example.com> さん曰く
Subject: [Mew-dist 15996] Re: b98
Message-ID: <01Jan19.184602jst.29570 at example.com>
Date: Fri, 19 Jan 2001 18:19:18 +0900
鯉江> | と思ったのですが、私のコードのせいではなくて display-time() のせ
鯉江> | いだということがわかりました。display-time をしていなかったら、
鯉江> |
鯉江> | (setq display-time-interval 1)
鯉江> | (display-time)
鯉江> |
鯉江> | して大きい folder を invisible しているときを(何もしないで)注視
鯉江> | してみてくださいませんか。
鯉江>
鯉江> 再現できました。
鯉江> lazy-lockではそんなことはないので、なにか策があるのでしょうね。
これがおきちゃいますね。lazy-lock は window 単位でしか色付けしか
しないので大丈夫なのかな?と思います。
調べてみたところ、(Emacs-20.7 付属の time.el なら)
(defun display-time-event-handler ()
(display-time-update)
;; Do redisplay right now, if no input pending.
(sit-for 0)
の (sit-for 0) で redisplay しちゃっているようです。ここを
comment out したら大丈夫になりました。だけど、この対処法はちょっ
となんですね。。。
Mew で無理やり OK にするなら、
(defun mew-summary-make-invisible-region (beg end &optional interrupt)
(if (and (or (eq major-mode 'mew-summary-mode)
(eq major-mode 'mew-virtual-mode))
mew-summary-buffer-visible)
(let ((inhibit-point-motion-hooks t)
(sit-for-backup (symbol-function 'sit-for))
ret)
(unwind-protect
(progn
(defun sit-for (&rest args) ())
(catch 'loop
(mew-elet
(save-excursion
(goto-char beg)
(while (and (<= (point) end) ;; Emacs 21's bug?
(search-forward "\r" end t))
(if (and interrupt (input-pending-p))
(throw 'loop (setq ret t)))
(put-text-property (match-beginning 0)
(progn (end-of-line) (point))
'invisible t))))))
(fset 'sit-for sit-for-backup)
(set-buffer-modified-p nil)
ret))))
みたいなのができるけど、これも (自分の ~/.emacs に書くなら全然気
にしないけど) なんだかなぁ。。。
--
白井秀行 (mailto:shirai at example.com)
Mew-dist メーリングリストの案内