summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-09-28 21:36:20 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-09-28 21:36:20 +0200
commitbc94e2dd4be04cbe7b5ab6749e30ef6c305c0588 (patch)
treeb16fdebc847be94ad85ef21b3b52c03f51d0d7d3 /lisp/gnus
parentbb50aaa325aee980cdaeaa2358f4f54db5eb71fe (diff)
downloademacs-bc94e2dd4be04cbe7b5ab6749e30ef6c305c0588.tar.gz
Expunge INBOX messages after splitting
* lisp/gnus/nnimap.el (nnimap-split-incoming-mail): Expunge articles after splitting (bug#37541).
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/nnimap.el12
1 files changed, 8 insertions, 4 deletions
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index baf2f9f4771..d4681e2b436 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1125,7 +1125,6 @@ If LIMIT, first try to limit the search to the N last articles."
(defun nnimap-delete-article (articles)
"Delete ARTICLES."
- (debug articles)
(with-current-buffer (nnimap-buffer)
(nnimap-command "UID STORE %s +FLAGS.SILENT (\\Deleted)"
(nnimap-article-ranges articles))
@@ -2175,9 +2174,14 @@ Return the server's response to the SELECT or EXAMINE command."
(when (and (not can-move) sequences)
(nnimap-wait-for-response (caar sequences))
;; And then mark the successful copy actions as deleted,
- ;; and possibly expunge them.
- (nnimap-delete-article
- (nnimap-parse-copied-articles sequences)))
+ ;; and possibly expunge them. Almost any non-nil
+ ;; setting of nnimap-expunge should lead to expunging
+ ;; here.
+ (let ((nnimap-expunge (and nnimap-expunge
+ (not (equal nnimap-expunge 'never))
+ 'immediate)))
+ (nnimap-delete-article
+ (nnimap-parse-copied-articles sequences))))
(when junk-articles
(nnimap-delete-article junk-articles))))))))