[mew-dist 19102] Re: Error pop3

Kazu Yamamoto ( 山本和彦 ) kazu at example.com
2001年 10月 2日 (火) 10:50:07 JST


From: SoftWare Research 早間義博 <soft at example.com>
Subject: [mew-dist 19101] Error pop3

> 2.0.55 に変更したところpop3 で受信出来なくなりました。

すいません。UIDL をサポートしてない POP サーバのことをすっかり忘れてい
ました。(設計したときは考えていました。本当です。)

おそらく、これで直るでしょう。

--かず

Index: mew-pop.el
===================================================================
RCS file: /cvsroot/mew/mew/mew-pop.el,v
retrieving revision 1.39
diff -c -r1.39 mew-pop.el
*** mew-pop.el	2001/10/01 06:23:03	1.39
--- mew-pop.el	2001/10/02 01:04:21
***************
*** 587,593 ****
      (while (re-search-forward "^\\([0-9]+\\) \\([0-9]+\\)" nil t)
        (setq num (mew-match 1))
        (setq siz (mew-match 2))
!       (setq msgs (cons (list num siz) msgs)))
      (if msgs
  	(progn
  	  (setq msgs (nreverse msgs))
--- 587,593 ----
      (while (re-search-forward "^\\([0-9]+\\) \\([0-9]+\\)" nil t)
        (setq num (mew-match 1))
        (setq siz (mew-match 2))
!       (setq msgs (cons (list num nil siz) msgs)))
      (if msgs
  	(progn
  	  (setq msgs (nreverse msgs))
***************
*** 598,611 ****
  
  (defun mew-pop-command-umsg (pro pnm)
    (let* ((ctime (current-time))
! 	 (list-msgs (mew-pop-get-rtrs pnm)) ;; (num siz)
  	 (old-uidl (mew-pop-uidl-db-get pnm))
  	 (refs (mew-pop-get-refs pnm)) ;; ((uid siz del (+fld msg)) ...)
  	 (rmvs (mew-pop-get-rmvs pnm))
  	 (directive (mew-pop-get-directive pnm))
  	 (keep (mew-pop-get-delete pnm))
  	 rtr rtrs dels
! 	 num siz uid uidl uid-time)
      (while (re-search-forward "^\\([0-9]+\\) +\\([!-~]*\\)" nil t)
        (setq num (mew-match 1))
        (setq uid (mew-match 2))
--- 598,611 ----
  
  (defun mew-pop-command-umsg (pro pnm)
    (let* ((ctime (current-time))
! 	 (list-msgs (mew-pop-get-rtrs pnm)) ;; (num nil siz)
  	 (old-uidl (mew-pop-uidl-db-get pnm))
  	 (refs (mew-pop-get-refs pnm)) ;; ((uid siz del (+fld msg)) ...)
  	 (rmvs (mew-pop-get-rmvs pnm))
  	 (directive (mew-pop-get-directive pnm))
  	 (keep (mew-pop-get-delete pnm))
  	 rtr rtrs dels
! 	 num uid uidl uid-time ent)
      (while (re-search-forward "^\\([0-9]+\\) +\\([!-~]*\\)" nil t)
        (setq num (mew-match 1))
        (setq uid (mew-match 2))
***************
*** 624,631 ****
  	  (setq rtrs (cons (list num) rtrs))))
         ((eq directive 'scan)
  	(when uid
! 	  (setq siz (nth 1 (assoc num list-msgs)))
! 	  (setq rtrs (cons (list num uid siz) rtrs))))
         ((eq directive 'inc)
  	(if uid (setq uid-time (cdr (assoc uid old-uidl))))
  	(cond
--- 624,632 ----
  	  (setq rtrs (cons (list num) rtrs))))
         ((eq directive 'scan)
  	(when uid
! 	  (setq ent (assoc num list-msgs))
! 	  (setcar (cdr ent) uid)
! 	  (setq rtrs (cons ent rtrs))))
         ((eq directive 'inc)
  	(if uid (setq uid-time (cdr (assoc uid old-uidl))))
  	(cond
***************
*** 635,642 ****
  	      (setq dels (cons num dels))))
  	 (t
  	  (setq uidl (cons (cons uid ctime) uidl))
! 	  (setq siz (nth 1 (assoc num list-msgs)))
! 	  (setq rtrs (cons (list num uid siz) rtrs)))))))
      (mew-pop-set-uidl pnm uidl)
      (setq rtrs (nreverse rtrs))
      (setq dels (nreverse dels))
--- 636,644 ----
  	      (setq dels (cons num dels))))
  	 (t
  	  (setq uidl (cons (cons uid ctime) uidl))
! 	  (setq ent (assoc num list-msgs))
! 	  (setcar (cdr ent) uid)
! 	  (setq rtrs (cons ent rtrs)))))))
      (mew-pop-set-uidl pnm uidl)
      (setq rtrs (nreverse rtrs))
      (setq dels (nreverse dels))




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