From 71044abebeccebe885f3540e3fd4a27a1f7d6537 Mon Sep 17 00:00:00 2001 From: Andrew Cohen Date: Wed, 8 Dec 2010 14:41:37 +0000 Subject: nnir.el (nnir-request-expire-articles): New function. --- lisp/gnus/nnir.el | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lisp/gnus/nnir.el') diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 0a67f88f23..726b01564e 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el @@ -687,6 +687,25 @@ Add an entry here when adding a new search engine.") 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) -- cgit v1.2.3