[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