From 3b84b005023f866afe3ba2b1e4178f39363aacc4 Mon Sep 17 00:00:00 2001 From: Gnus developers Date: Sat, 11 Dec 2010 01:27:14 +0000 Subject: Merge changes made in Gnus trunk. nnir.el (nnir-request-expire-articles): Only allow article deletion. message.el (message-bogus-recipient-p): Set address to "" if nil. gnus-gravatar.el (gnus-gravatar-transform-address): Fix error when email address is nil. proto-stream.el (proto-stream-open-network-only): New function to have a way to specify non-STARTTLS upgrade connections. --- lisp/gnus/nnir.el | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) (limited to 'lisp/gnus/nnir.el') diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index 726b01564e..3b1d3246c0 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el @@ -688,23 +688,25 @@ Add an entry here when adding a new search engine.") (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) '<))) + (if 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) '<)) + articles)) (deffoo nnir-warp-to-article () (let* ((cur (if (> (gnus-summary-article-number) 0) @@ -792,12 +794,13 @@ details on the language and supported extensions" (nnir-imap-make-query criteria qstring))))) (mapc - (lambda (artnum) (push (vector group artnum 100) artlist) - (setq arts (1+ arts))) - (and (car result) - (delete 0 (mapcar #'string-to-number - (cdr (assoc "SEARCH" - (cdr result))))))) + (lambda (artnum) + (let ((artn (string-to-number artnum))) + (when (> artn 0) + (push (vector group artn 100) + artlist) + (setq arts (1+ arts))))) + (and (car result) (cdr (assoc "SEARCH" (cdr result))))) (message "Searching %s... %d matches" group arts))) (message "Searching %s...done" group)) (quit nil)) @@ -1581,8 +1584,10 @@ server is of form 'backend:name'." (or nnir-summary-line-format gnus-summary-line-format)) (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t) (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t) + (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t) (add-hook 'gnus-summary-article-delete-hook 'nnir-registry-action t t) - (add-hook 'gnus-summary-article-move-hook 'nnir-registry-action t t))) + (add-hook 'gnus-summary-article-move-hook 'nnir-registry-action t t) + (add-hook 'gnus-summary-article-expire-hook 'nnir-registry-action t t))) -- cgit v1.2.3