[Mew-dist 17811] mew-scan-width

Shun-ichi TAHARA ( 田原 俊一 ) jado at example.com
2001年 6月 19日 (火) 14:28:13 JST


既知の問題かもしれませんが。

XEmacsでMewを使っていて、大きいフォルダをscanしている途中にgとかで他の
フォルダに移ったり、Cでcaseを変更したりすると、scan の結果がちょっと長
くなる、というか、いつもは80桁目に \r が来るはずなのに、その間の \r の
位置が81桁目に来たりする、という謎の現象が起きています。

どうも、mew-scan-width 中の (window-width) が、ミニバッファが有効になっ
ている間狂っているのが原因なのかなという気がしています。

mew-summary-scan-width を設定しておけば問題はないのですが、
mew-scan-width にバッファ名を渡すようにして、一時的にこちらに飛ぶよう
にすれば解消しないだろうか、と、こんなのを試してみましたが、効果があり
ませんた。

ううむ…
_______________________________
田原 俊一   jado at example.com, shunichi_tahara at example.com
                                  http://flowernet.gr.jp/jado/
FingerPrint:  16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

diff -rc mew.orig/mew-pop.el mew/mew-pop.el
*** mew.orig/mew-pop.el	Tue May 29 12:21:31 2001
--- mew/mew-pop.el	Tue Jun 19 14:24:11 2001
***************
*** 617,623 ****
  (defun mew-pop-command-dele (pro pnm)
    (let* ((inbox (mew-pop-get-inbox pnm))
  	 (case (mew-pop-get-case pnm))
! 	 (width (1- (mew-scan-width)))
  	 (msgs (mew-pop-get-messages pnm))
  	 (msg  (car msgs))
  	 (num  (nth 0 msg))
--- 617,623 ----
  (defun mew-pop-command-dele (pro pnm)
    (let* ((inbox (mew-pop-get-inbox pnm))
  	 (case (mew-pop-get-case pnm))
! 	 (width (1- (mew-scan-width (current-buffer))))
  	 (msgs (mew-pop-get-messages pnm))
  	 (msg  (car msgs))
  	 (num  (nth 0 msg))
diff -rc mew.orig/mew-scan.el mew/mew-scan.el
*** mew.orig/mew-scan.el	Tue May 29 12:21:31 2001
--- mew/mew-scan.el	Tue Jun 19 14:25:35 2001
***************
*** 557,569 ****
        (goto-char (point-max)))
      vec))
  
! (defun mew-scan-width ()
!   (if (and (integerp mew-summary-scan-width)
! 	   (> mew-summary-scan-width 40)) ;; xxx
!       mew-summary-scan-width
!     (if (< (window-width) 80)
! 	80
!       (window-width))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
--- 557,570 ----
        (goto-char (point-max)))
      vec))
  
! (defun mew-scan-width (buf)
!   (let ((width (save-excursion (set-buffer buf))))
!     (if (and (integerp mew-summary-scan-width)
! 	     (> mew-summary-scan-width 40)) ;; xxx
! 	mew-summary-scan-width
!       (if (< width 80)
! 	  80
! 	width))))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
***************
*** 668,674 ****
  	  (goto-char opos)))))
  
  (defun mew-scan-filter (process string)
!   (let* ((width (1- (mew-scan-width))) ;; xxx
  	 (pnm (process-name process))
  	 (folder (mew-scan-pnm-to-bnm pnm))
  	 (virtualp (mew-folder-virtualp folder))
--- 669,675 ----
  	  (goto-char opos)))))
  
  (defun mew-scan-filter (process string)
!   (let* ((width (1- (mew-scan-width (current-buffer)))) ;; xxx
  	 (pnm (process-name process))
  	 (folder (mew-scan-pnm-to-bnm pnm))
  	 (virtualp (mew-folder-virtualp folder))



Mew-dist メーリングリストの案内