From bca46f6bc64a99a1cdeceaa8cdd4eb6e1b9c8f21 Mon Sep 17 00:00:00 2001 From: Gnus developers Date: Tue, 2 Aug 2011 22:16:33 +0000 Subject: [PATCH] Merge changes made in Gnus trunk. nnir.el (nnir-search-thread): Position point on referring article line. (nnir-warp-to-article): Clean up summary buffers. nnimap.el (nnimap-request-thread): Whitespace fix. nnimap.el (nnimap-get-groups): Decode "&" correctly. --- lisp/gnus/ChangeLog | 12 ++++++++++++ lisp/gnus/nnimap.el | 10 +++++----- lisp/gnus/nnir.el | 20 ++++++++++++++------ 3 files changed, 31 insertions(+), 11 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 6b35fbcb8ef..e88b5154c76 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,15 @@ +2011-08-02 Andrew Cohen + + * nnir.el (nnir-search-thread): Position point on referring article + line. + (nnir-warp-to-article): Clean up summary buffers. + + * nnimap.el (nnimap-request-thread): Whitespace fix. + +2011-08-02 Steve Purcell (tiny change) + + * nnimap.el (nnimap-get-groups): Decode "&" correctly. + 2011-08-02 Lars Magne Ingebrigtsen * starttls.el (starttls-available-p): Renamed from diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 52de48869d8..f41f4af71b4 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el @@ -1107,9 +1107,9 @@ textual parts.") (separator (read (current-buffer))) (group (read (current-buffer)))) (unless (member '%NoSelect flags) - (push (if (stringp group) - group - (format "%s" group)) + (push (utf7-decode (if (stringp group) + group + (format "%s" group)) t) groups)))) (nreverse groups))) @@ -1168,7 +1168,7 @@ textual parts.") (nnimap-get-groups))) (unless (assoc group nnimap-current-infos) ;; Insert dummy numbers here -- they don't matter. - (insert (format "%S 0 1 y\n" group)))) + (insert (format "%S 0 1 y\n" (utf7-encode group))))) t))) (deffoo nnimap-retrieve-group-data-early (server infos) @@ -1566,7 +1566,7 @@ textual parts.") (articles &optional limit force-new dependencies)) (deffoo nnimap-request-thread (header &optional group server) - (if gnus-refer-thread-use-nnir + (if gnus-refer-thread-use-nnir (nnir-search-thread header) (when (nnimap-possibly-change-group group server) (let* ((cmd (nnimap-make-thread-query header)) diff --git a/lisp/gnus/nnir.el b/lisp/gnus/nnir.el index e6420a4d7bb..d35e6560e71 100644 --- a/lisp/gnus/nnir.el +++ b/lisp/gnus/nnir.el @@ -767,11 +767,18 @@ Add an entry here when adding a new search engine.") (deffoo nnir-warp-to-article () (let* ((cur (if (> (gnus-summary-article-number) 0) (gnus-summary-article-number) - (error "This is not a real article."))) - (gnus-newsgroup-name (nnir-article-group cur)) - (backend-number (nnir-article-number cur))) - (gnus-summary-read-group-1 gnus-newsgroup-name t t gnus-summary-buffer - nil (list backend-number)))) + (error "This is not a real article"))) + (backend-article-group (nnir-article-group cur)) + (backend-article-number (nnir-article-number cur)) + (quit-config (gnus-ephemeral-group-p gnus-newsgroup-name))) + ;; first exit from the nnir summary buffer. + (gnus-summary-exit) + ;; and if the nnir summary buffer in turn came from another + ;; summary buffer we have to clean that summary up too. + (when (eq (cdr quit-config) 'summary) + (gnus-summary-exit)) + (gnus-summary-read-group-1 backend-article-group t t nil + nil (list backend-article-number)))) (nnoo-define-skeleton nnir) @@ -1659,7 +1666,8 @@ server is of form 'backend:name'." (cons 'server (gnus-method-to-server (gnus-find-method-for-group gnus-newsgroup-name)))))) - (gnus-group-make-nnir-group nil parm))) + (gnus-group-make-nnir-group nil parm) + (gnus-summary-goto-subject (gnus-id-to-article (mail-header-id header))))) ;; unused? (defun nnir-artlist-groups (artlist) -- 2.39.2