emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/gnus/nnimap.el


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/gnus/nnimap.el
Date: Mon, 31 Oct 2005 02:07:30 -0500

Index: emacs/lisp/gnus/nnimap.el
diff -c emacs/lisp/gnus/nnimap.el:1.28 emacs/lisp/gnus/nnimap.el:1.29
*** emacs/lisp/gnus/nnimap.el:1.28      Sat Aug  6 19:51:42 2005
--- emacs/lisp/gnus/nnimap.el   Mon Oct 31 07:07:28 2005
***************
*** 317,322 ****
--- 317,327 ----
  Unlike other backends, you do not need to take special care if you
  flip this variable.")
  
+ (defvoo nnimap-search-uids-not-since-is-evil nil
+   "If non-nil, avoid \"UID SEARCH UID ... NOT SINCE\" queries when expiring.
+ Instead, use \"UID SEARCH SINCE\" to prune the list of expirable
+ articles within Gnus.  This seems to be faster on Courier in some cases.")
+ 
  (defvoo nnimap-expunge-on-close 'always ; 'ask, 'never
    "Whether to expunge a group when it is closed.
  When a IMAP group with articles marked for deletion is closed, this
***************
*** 1436,1441 ****
--- 1441,1461 ----
                     (when (imap-message-flags-add
                            (imap-range-to-message-set
                             (gnus-compress-sequence oldarts)) "\\Deleted")
+                      (setq articles (gnus-set-difference
+                                      articles oldarts))))))
+               ((and nnimap-search-uids-not-since-is-evil (numberp days))
+                (let* ((all-new-articles
+                        (gnus-compress-sequence
+                         (imap-search (format "SINCE %s"
+                                              (nnimap-date-days-ago days)))))
+                       (oldartseq
+                        (gnus-range-difference artseq all-new-articles))
+                       (oldarts (gnus-uncompress-range oldartseq)))
+                  (when oldarts
+                    (nnimap-expiry-target oldarts group server)
+                    (when (imap-message-flags-add
+                           (imap-range-to-message-set oldartseq)
+                           "\\Deleted")
                       (setq articles (gnus-set-difference
                                       articles oldarts))))))
                ((numberp days)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]