# HG changeset patch # User Katsumi Yamaoka # Date 1291819297 0 # Node ID f7152aa1cc94b521f8187c602a35bb09f0d7b4c0 # Parent 7b4048d4560368be4e2b9cb657ef16de2d3c28f1 nnir.el (nnir-request-expire-articles): New function. diff -r 7b4048d45603 -r f7152aa1cc94 lisp/gnus/ChangeLog --- a/lisp/gnus/ChangeLog Wed Dec 08 13:49:49 2010 +0000 +++ b/lisp/gnus/ChangeLog Wed Dec 08 14:41:37 2010 +0000 @@ -3,6 +3,7 @@ * nnir.el (nnir-retrieve-headers): Use rassq when comparing article ids. (nnir-run-gmane): Simplify groupspec formatting. + (nnir-request-expire-articles): New function. 2010-12-07 Lars Magne Ingebrigtsen diff -r 7b4048d45603 -r f7152aa1cc94 lisp/gnus/nnir.el --- a/lisp/gnus/nnir.el Wed Dec 08 13:49:49 2010 +0000 +++ b/lisp/gnus/nnir.el Wed Dec 08 14:41:37 2010 +0000 @@ -687,6 +687,25 @@ to-newsgroup ; Not respooling (gnus-group-real-name to-newsgroup))))) +(deffoo nnir-request-expire-articles (articles group &optional server force) + (let ((articles-by-group (nnir-categorize + articles nnir-article-group nnir-article-ids)) + not-deleted) + (while (not (null articles-by-group)) + (let* ((group-articles (pop articles-by-group)) + (artgroup (car group-articles)) + (articleids (cadr group-articles)) + (artlist (sort (mapcar 'cdr articleids) '<))) + (unless (gnus-check-backend-function 'request-expire-articles + artgroup) + (error "The group %s does not support article deletion" artgroup)) + (unless (gnus-check-server (gnus-find-method-for-group artgroup)) + (error "Couldn't open server for group %s" artgroup)) + (push (gnus-request-expire-articles + artlist artgroup force) + not-deleted))) + (sort (delq nil not-deleted) '<))) + (deffoo nnir-warp-to-article () (let* ((cur (if (> (gnus-summary-article-number) 0) (gnus-summary-article-number)