aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/misc/gnus.texi51
-rw-r--r--etc/NEWS14
-rw-r--r--lisp/gnus/gnus-sum.el17
3 files changed, 58 insertions, 24 deletions
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 60441669d82..176411a64be 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -21452,19 +21452,29 @@ maintained outside of Gnus.
21452@subsection Basic Usage 21452@subsection Basic Usage
21453 21453
21454In the group buffer typing @kbd{G G} will search the group on the 21454In the group buffer typing @kbd{G G} will search the group on the
21455current line by calling @code{gnus-group-make-search-group}. This prompts 21455current line by calling @code{gnus-group-read-ephemeral-search-group}.
21456for a query string, creates an ephemeral @code{nnselect} group containing 21456This prompts for a query string, creates an ephemeral @code{nnselect}
21457the articles that match this query, and takes you to a summary buffer 21457group containing the articles that match this query, and takes you to
21458showing these articles. Articles may then be read, moved and deleted 21458a summary buffer showing these articles. Articles may then be read,
21459using the usual commands. 21459moved and deleted using the usual commands.
21460 21460
21461The @code{nnselect} group made in this way is an @code{ephemeral} 21461The @code{nnselect} group made in this way is @code{ephemeral}: it
21462group, and will disappear upon exit from the group. However changes 21462will disappear upon exit from the group. However changes made in the
21463made in the group are permanently reflected in the real groups from 21463group are permanently reflected in the real groups from which the
21464which the articles are drawn. It is occasionally convenient to view 21464articles are drawn. If you want to create a @emph{persistent} group
21465articles found through searching in their original group. You can 21465that sticks around after exit from the summary buffer, you can call
21466@emph{warp} (i.e., jump) to the original group for the article on the 21466@code{gnus-group-make-search-group} (bound to @kbd{G g}).
21467current line with @kbd{A W}, aka @code{gnus-warp-to-article}. 21467
21468So you just performed a search whose results are so fabulous you
21469wished you had done a persistent search rather than an ephemeral one?
21470No problem; you can create such a group by calling
21471@code{gnus-summary-make-group-from-search} (bound to @kbd{C-c C-p})
21472from the ephemeral summary buffer.
21473
21474It is occasionally convenient to view articles found through searching
21475in their original group. You can @emph{warp} (i.e., jump) to the
21476original group for the article on the current line with @kbd{A W}, aka
21477@code{gnus-warp-to-article}.
21468 21478
21469You say you want to search more than just the group on the current line? 21479You say you want to search more than just the group on the current line?
21470No problem: just process-mark the groups you want to search. You want 21480No problem: just process-mark the groups you want to search. You want
@@ -21472,16 +21482,17 @@ even more? Calling for an nnir search with the cursor on a topic heading
21472will search all the groups under that heading. 21482will search all the groups under that heading.
21473 21483
21474Still not enough? OK, in the server buffer 21484Still not enough? OK, in the server buffer
21475@code{gnus-group-make-search-group} (now bound to @kbd{G}) will search 21485@code{gnus-group-read-ephemeral-search-group} (now bound to @kbd{G})
21476all groups from the server on the current line. Too much? Want to 21486will search all groups from the server on the current line. Too much?
21477ignore certain groups when searching, like spam groups? Just 21487Want to ignore certain groups when searching, like spam groups? Just
21478customize @code{nnir-ignored-newsgroups}. 21488customize @code{nnir-ignored-newsgroups}.
21479 21489
21480One more thing: individual search engines may have special search 21490One more thing: individual search engines may have special search
21481features. You can access these special features by giving a prefix-arg 21491features. You can access these special features by giving a
21482to @code{gnus-group-make-search-group}. If you are searching multiple 21492prefix-arg to @code{gnus-group-read-ephemeral-search-group}. If you
21483groups with different search engines you will be prompted for the 21493are searching multiple groups with different search engines you will
21484special search features for each engine separately. 21494be prompted for the special search features for each engine
21495separately.
21485 21496
21486 21497
21487@node Setting up nnir 21498@node Setting up nnir
diff --git a/etc/NEWS b/etc/NEWS
index fd6cdbe3b47..76f44f2ce67 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -333,12 +333,18 @@ arbitrary list of articles that may come from multiple groups and
333servers. These groups generally behave like any other group: they may 333servers. These groups generally behave like any other group: they may
334be ephemeral or persistent, and allow article marking, moving, 334be ephemeral or persistent, and allow article marking, moving,
335deletion, etc. 'nnselect' groups may be created like any other group, 335deletion, etc. 'nnselect' groups may be created like any other group,
336but there is also a convenience function for the common case of 336but there are three convenience functions for the common case of
337obtaining the list of articles as a result of a search: 337obtaining the list of articles as a result of a search:
338'gnus-group-make-search-group' ('G g') that will prompt for an 'nnir' 338'gnus-group-make-search-group' ('G g') that will prompt for an 'nnir'
339search query and create a dedicated group for that search. As part of 339search query and create a persistent group for that search;
340this addition, the user option 'nnir-summary-line-format' has been 340'gnus-group-read-ephemeral-search-group' ('G G') that will prompt for
341removed; its functionality is now available directly in the 341an 'nnir' search query and create an ephemeral group for that search;
342and 'gnus-summary-make-group-from-search' ('C-c C-p') that will create
343a persistent group with the search parameters of a current ephemeral
344search group.
345
346As part of this addition, the user option 'nnir-summary-line-format'
347has been removed; its functionality is now available directly in the
342'gnus-summary-line-format' specs '%G' and '%g'. The user option 348'gnus-summary-line-format' specs '%G' and '%g'. The user option
343'gnus-refer-thread-use-nnir' has been renamed to 349'gnus-refer-thread-use-nnir' has been renamed to
344'gnus-refer-thread-use-search'. 350'gnus-refer-thread-use-search'.
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 80427434bd7..45397b518c6 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -87,6 +87,7 @@
87(autoload 'gnus-article-outlook-rearrange-citation "deuglify" nil t) 87(autoload 'gnus-article-outlook-rearrange-citation "deuglify" nil t)
88(autoload 'nnselect-article-rsv "nnselect" nil nil) 88(autoload 'nnselect-article-rsv "nnselect" nil nil)
89(autoload 'nnselect-article-group "nnselect" nil nil) 89(autoload 'nnselect-article-group "nnselect" nil nil)
90(autoload 'gnus-nnselect-group-p "nnselect" nil nil)
90 91
91(defcustom gnus-kill-summary-on-exit t 92(defcustom gnus-kill-summary-on-exit t
92 "If non-nil, kill the summary buffer when you exit from it. 93 "If non-nil, kill the summary buffer when you exit from it.
@@ -1989,6 +1990,7 @@ increase the score of each group you read."
1989 "\M-K" gnus-summary-edit-global-kill 1990 "\M-K" gnus-summary-edit-global-kill
1990 ;; "V" gnus-version 1991 ;; "V" gnus-version
1991 "\C-c\C-d" gnus-summary-describe-group 1992 "\C-c\C-d" gnus-summary-describe-group
1993 "\C-c\C-p" gnus-summary-make-group-from-search
1992 "q" gnus-summary-exit 1994 "q" gnus-summary-exit
1993 "Q" gnus-summary-exit-no-update 1995 "Q" gnus-summary-exit-no-update
1994 "\C-c\C-i" gnus-info-find-node 1996 "\C-c\C-i" gnus-info-find-node
@@ -7120,6 +7122,21 @@ The prefix argument ALL means to select all articles."
7120 (setq info (copy-sequence (gnus-get-info group)) 7122 (setq info (copy-sequence (gnus-get-info group))
7121 info (delq (gnus-info-params info) info)))))))))) 7123 info (delq (gnus-info-params info) info))))))))))
7122 7124
7125(defun gnus-summary-make-group-from-search ()
7126 "Make a persistent group from the current ephemeral search group."
7127 (interactive)
7128 (if (not (gnus-nnselect-group-p gnus-newsgroup-name))
7129 (gnus-message 3 "%s is not a search group" gnus-newsgroup-name)
7130 (let ((name (gnus-read-group "Group name: ")))
7131 (with-current-buffer gnus-group-buffer
7132 (gnus-group-make-group
7133 name
7134 (list 'nnselect "nnselect")
7135 nil
7136 (list (cons 'nnselect-specs
7137 (gnus-group-get-parameter gnus-newsgroup-name
7138 'nnselect-specs t))))))))
7139
7123(defun gnus-summary-save-newsrc (&optional force) 7140(defun gnus-summary-save-newsrc (&optional force)
7124 "Save the current number of read/marked articles in the dribble buffer. 7141 "Save the current number of read/marked articles in the dribble buffer.
7125The dribble buffer will then be saved. 7142The dribble buffer will then be saved.