gnus-sum.el (gnus-summary-expire-articles): Reinstall improved version of the 2014...
authorAlan Schmitt <alan.schmitt@polytechnique.org>
Thu, 14 Aug 2014 11:30:34 +0000 (11:30 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Thu, 14 Aug 2014 11:30:34 +0000 (11:30 +0000)
lisp/ChangeLog
lisp/gnus-sum.el

index 3307433..85be195 100644 (file)
@@ -1,3 +1,9 @@
+2014-08-14  Alan Schmitt  <alan.schmitt@polytechnique.org>
+
+       * 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  <monnier@iro.umontreal.ca>
 
        * gnus-art.el (gnus-hidden-properties): Drop the evil `intangible'.
index c0e099b..db0242e 100644 (file)
@@ -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 ()