[gnus git] branch master updated: m0-3-61-g3beab13 =1= Don't expire unexisting (nnimap) articles

Lars Magne Ingebrigtsen <[email protected]>
Newsgroups gmane.emacs.gnus.cvs
Message-ID <[email protected]>
       via  3beab13a43d5730d28693c4000bd7003646d20c6 (commit)
      from  b2cdce97e59d878d74a3937d5946fddd2df04e5d (commit)


- Log -----------------------------------------------------------------
commit 3beab13a43d5730d28693c4000bd7003646d20c6
Author: Lars Magne Ingebrigtsen <[email protected]>
Date:   Sat Mar 10 01:51:00 2012 +0100

    Don't expire unexisting (nnimap) articles
    
    * gnus-sum.el (gnus-summary-expire-articles): Ditto.
    
    * gnus-group.el (gnus-group-expire-articles-1): Don't try to expire
    messages that don't exist.

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index bb8e2ea..4e591fe 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2012-03-10  Lars Magne Ingebrigtsen  <[email protected]>
+
+	* gnus-group.el (gnus-group-expire-articles-1): Don't try to expire
+	messages that don't exist.
+
+	* gnus-sum.el (gnus-summary-expire-articles): Ditto.
+
 2012-03-04  Thierry Volpiatto  <[email protected]>
 
 	* gnus-msg.el (gnus-msg-mail): Call `message-mail' correctly when Gnus
diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el
index f75ef37..0c3346a 100644
--- a/lisp/gnus-group.el
+++ b/lisp/gnus-group.el
@@ -3643,6 +3643,10 @@ Uses the process/prefix convention."
 	   (expirable (if (gnus-group-total-expirable-p group)
 			  (cons nil (gnus-list-of-read-articles group))
 			(assq 'expire (gnus-info-marks info))))
+	   (articles-to-expire
+	    (gnus-list-range-difference
+	     (gnus-uncompress-sequence (cdr expirable))
+	     (cdr (assq 'unexist (gnus-info-marks info)))))
 	   (expiry-wait (gnus-group-find-parameter group 'expiry-wait))
 	   (nnmail-expiry-target
 	    (or (gnus-group-find-parameter group 'expiry-target)
@@ -3657,11 +3661,9 @@ Uses the process/prefix convention."
 	      ;; parameter.
 	      (let ((nnmail-expiry-wait-function nil)
 		    (nnmail-expiry-wait expiry-wait))
-		(gnus-request-expire-articles
-		 (gnus-uncompress-sequence (cdr expirable)) group))
+		(gnus-request-expire-articles articles-to-expire group))
 	    ;; Just expire using the normal expiry values.
-	    (gnus-request-expire-articles
-	     (gnus-uncompress-sequence (cdr expirable)) group))))
+	    (gnus-request-expire-articles articles-to-expire group))))
 	(gnus-close-group group))
       (gnus-message 6 "Expiring articles in %s...done"
 		    (gnus-group-decoded-name group))
diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el
index 77bbe38..46e246f 100644
--- a/lisp/gnus-sum.el
+++ b/lisp/gnus-sum.el
@@ -10304,7 +10304,9 @@ This will be the case if the article has both been mailed and posted."
 	      'request-expire-articles gnus-newsgroup-name))
     ;; This backend supports expiry.
     (let* ((total (gnus-group-total-expirable-p gnus-newsgroup-name))
-	   (expirable (if total
+	   (expirable
+	    (gnus-list-range-difference
+	     (if total
 			  (progn
 			    ;; We need to update the info for
 			    ;; this group for `gnus-list-of-read-articles'
@@ -10313,7 +10315,8 @@ This will be the case if the article has both been mailed and posted."
 			    (gnus-summary-update-info)
 			    (gnus-list-of-read-articles gnus-newsgroup-name))
 			(setq gnus-newsgroup-expirable
-			      (sort gnus-newsgroup-expirable '<))))
+		     (sort gnus-newsgroup-expirable '<)))
+	     gnus-newsgroup-unexist))
 	   (expiry-wait (if now 'immediate
 			  (gnus-group-find-parameter
 			   gnus-newsgroup-name 'expiry-wait)))

-----------------------------------------------------------------------
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we listed those
revisions in full, above.

Summary of changes:
 lisp/ChangeLog     |    7 +++++++
 lisp/gnus-group.el |   10 ++++++----
 lisp/gnus-sum.el   |   23 +++++++++++++----------
 3 files changed, 26 insertions(+), 14 deletions(-)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnus Project".

The branch, master has been updated


hooks/post-receive
-- 
Gnus Project
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.