[Mew-dist 04531] Re: Multiple scanning

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
1998年 5月 6日 (水) 19:25:56 JST


From: SAKAI Kiyotaka <ksakai at example.com>
Subject: [Mew-dist 04529] Multiple scanning
Date: Wed, 6 May 1998 19:05:29 +0900

> 1. +aaa という folder で s を押し、all を指定します。
> 
> 2. 1 が background で実行されている間に、別の +bbb という folder に移
>   動し、s で all を指定します。
> 
> 3. すると、+aaa と +bbb へ出力される内容が同時に +bbb へ出力されるよう
>   になります。

これで直りますか?

--かず

Index: mew-scan.el
===================================================================
RCS file: /usr/local/cvsroot/Mew/mew/mew-scan.el,v
retrieving revision 1.18
diff -c -r1.18 mew-scan.el
*** mew-scan.el	1998/05/06 03:50:38	1.18
--- mew-scan.el	1998/05/06 10:27:31
***************
*** 170,176 ****
  
  (defun mew-summary-scan-filter (process string)
    (let ((after-change-function nil)
! 	(after-change-functions nil))
      (setq mew-summary-buffer-string 
  	  (concat mew-summary-buffer-string string)) ;; nil can concat
      (cond
--- 170,182 ----
  
  (defun mew-summary-scan-filter (process string)
    (let ((after-change-function nil)
! 	(after-change-functions nil)
! 	(obuf (current-buffer))
! 	(opos (point))
! 	(omax (point-max)))
!     ;; save-excursion is not usefule because sometime we want to 
!     ;; move the cursor forward.
!     (set-buffer (process-buffer process)) ;; just in case
      (setq mew-summary-buffer-string 
  	  (concat mew-summary-buffer-string string)) ;; nil can concat
      (cond
***************
*** 189,212 ****
  			mew-summary-buffer-string)
  	  (setq mew-summary-buffer-string
  		(substring mew-summary-buffer-string (match-end 0))))))
!     ;; save-excursion is not usefule because sometime we want to 
!     ;; move the cursor forward.
!     (let ((buffer-read-only nil)
! 	  (obuf (current-buffer))
! 	  (opos (point))
! 	  (omax (point-max)))
!       (set-buffer (process-buffer process)) ;; just in case
!       (while (string-match "^ *[0-9]+.*\n" mew-summary-buffer-string)
! 	(goto-char (point-max))
! 	;; the cursor moves forward!
! 	(insert (mew-match 0 mew-summary-buffer-string))
! 	(setq mew-summary-buffer-string
! 	      (substring mew-summary-buffer-string (match-end 0))))
!       (if (or (equal opos mew-summary-buffer-start-point)
! 	      (not (equal opos omax)))
! 	  ;; move the cursor to the original position.
! 	  (goto-char opos))
!       (set-buffer obuf))))
  
  (defun mew-summary-scan-sentinel (process event)
    (save-excursion
--- 195,212 ----
  			mew-summary-buffer-string)
  	  (setq mew-summary-buffer-string
  		(substring mew-summary-buffer-string (match-end 0))))))
!     (while (string-match "^ *[0-9]+.*\n" mew-summary-buffer-string)
!       (goto-char (point-max))
!       ;; the cursor moves forward!
!       (let ((buffer-read-only nil))
! 	(insert (mew-match 0 mew-summary-buffer-string)))
!       (setq mew-summary-buffer-string
! 	    (substring mew-summary-buffer-string (match-end 0))))
!     (if (or (equal opos mew-summary-buffer-start-point)
! 	    (not (equal opos omax)))
! 	;; move the cursor to the original position.
! 	(goto-char opos))
!     (set-buffer obuf)))
  
  (defun mew-summary-scan-sentinel (process event)
    (save-excursion




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