From b39a97d475e871fbb93d03088a3ccefc6f077a75 Mon Sep 17 00:00:00 2001 From: Alan Schmitt Date: Thu, 14 Aug 2014 11:30:34 +0000 Subject: [PATCH] gnus-sum.el (gnus-summary-expire-articles): Reinstall improved version of the 2014-08-05 change --- lisp/ChangeLog | 6 ++++++ lisp/gnus-sum.el | 20 +++++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 3307433eb..85be195a9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2014-08-14 Alan Schmitt + + * gnus-sum.el (gnus-summary-expire-articles): Functions registered to + the gnus-summary-article-expire-hook should be told where the function + is going. In particular, the Gnus registry might want to know. + 2014-08-12 Stefan Monnier * gnus-art.el (gnus-hidden-properties): Drop the evil `intangible'. diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index c0e099ba3..db0242ef4 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -10444,13 +10444,19 @@ This will be the case if the article has both been mailed and posted." (when (and (not (memq article es)) (gnus-data-find article)) (gnus-summary-mark-article article gnus-canceled-mark) - (run-hook-with-args 'gnus-summary-article-expire-hook - 'delete - (gnus-data-header - (assoc article (gnus-data-list nil))) - gnus-newsgroup-name - nil - nil))))))) + (run-hook-with-args + 'gnus-summary-article-expire-hook + 'delete + (gnus-data-header (assoc article (gnus-data-list nil))) + gnus-newsgroup-name + (cond + ((stringp nnmail-expiry-target) nnmail-expiry-target) + ((eq nnmail-expiry-target 'delete) nil) + (t + (let ((rescall (funcall nnmail-expiry-target + gnus-newsgroup-name))) + (if (stringp rescall) rescall nil)))) + nil))))))) (gnus-message 6 "Expiring articles...done"))))) (defun gnus-summary-expire-articles-now () -- 2.25.1