diff options
| -rw-r--r-- | doc/misc/gnus.texi | 51 | ||||
| -rw-r--r-- | etc/NEWS | 14 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 17 |
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 | ||
| 21454 | In the group buffer typing @kbd{G G} will search the group on the | 21454 | In the group buffer typing @kbd{G G} will search the group on the |
| 21455 | current line by calling @code{gnus-group-make-search-group}. This prompts | 21455 | current line by calling @code{gnus-group-read-ephemeral-search-group}. |
| 21456 | for a query string, creates an ephemeral @code{nnselect} group containing | 21456 | This prompts for a query string, creates an ephemeral @code{nnselect} |
| 21457 | the articles that match this query, and takes you to a summary buffer | 21457 | group containing the articles that match this query, and takes you to |
| 21458 | showing these articles. Articles may then be read, moved and deleted | 21458 | a summary buffer showing these articles. Articles may then be read, |
| 21459 | using the usual commands. | 21459 | moved and deleted using the usual commands. |
| 21460 | 21460 | ||
| 21461 | The @code{nnselect} group made in this way is an @code{ephemeral} | 21461 | The @code{nnselect} group made in this way is @code{ephemeral}: it |
| 21462 | group, and will disappear upon exit from the group. However changes | 21462 | will disappear upon exit from the group. However changes made in the |
| 21463 | made in the group are permanently reflected in the real groups from | 21463 | group are permanently reflected in the real groups from which the |
| 21464 | which the articles are drawn. It is occasionally convenient to view | 21464 | articles are drawn. If you want to create a @emph{persistent} group |
| 21465 | articles found through searching in their original group. You can | 21465 | that 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}). |
| 21467 | current line with @kbd{A W}, aka @code{gnus-warp-to-article}. | 21467 | |
| 21468 | So you just performed a search whose results are so fabulous you | ||
| 21469 | wished you had done a persistent search rather than an ephemeral one? | ||
| 21470 | No problem; you can create such a group by calling | ||
| 21471 | @code{gnus-summary-make-group-from-search} (bound to @kbd{C-c C-p}) | ||
| 21472 | from the ephemeral summary buffer. | ||
| 21473 | |||
| 21474 | It is occasionally convenient to view articles found through searching | ||
| 21475 | in their original group. You can @emph{warp} (i.e., jump) to the | ||
| 21476 | original group for the article on the current line with @kbd{A W}, aka | ||
| 21477 | @code{gnus-warp-to-article}. | ||
| 21468 | 21478 | ||
| 21469 | You say you want to search more than just the group on the current line? | 21479 | You say you want to search more than just the group on the current line? |
| 21470 | No problem: just process-mark the groups you want to search. You want | 21480 | No 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 | |||
| 21472 | will search all the groups under that heading. | 21482 | will search all the groups under that heading. |
| 21473 | 21483 | ||
| 21474 | Still not enough? OK, in the server buffer | 21484 | Still 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}) |
| 21476 | all groups from the server on the current line. Too much? Want to | 21486 | will search all groups from the server on the current line. Too much? |
| 21477 | ignore certain groups when searching, like spam groups? Just | 21487 | Want to ignore certain groups when searching, like spam groups? Just |
| 21478 | customize @code{nnir-ignored-newsgroups}. | 21488 | customize @code{nnir-ignored-newsgroups}. |
| 21479 | 21489 | ||
| 21480 | One more thing: individual search engines may have special search | 21490 | One more thing: individual search engines may have special search |
| 21481 | features. You can access these special features by giving a prefix-arg | 21491 | features. You can access these special features by giving a |
| 21482 | to @code{gnus-group-make-search-group}. If you are searching multiple | 21492 | prefix-arg to @code{gnus-group-read-ephemeral-search-group}. If you |
| 21483 | groups with different search engines you will be prompted for the | 21493 | are searching multiple groups with different search engines you will |
| 21484 | special search features for each engine separately. | 21494 | be prompted for the special search features for each engine |
| 21495 | separately. | ||
| 21485 | 21496 | ||
| 21486 | 21497 | ||
| 21487 | @node Setting up nnir | 21498 | @node Setting up nnir |
| @@ -333,12 +333,18 @@ arbitrary list of articles that may come from multiple groups and | |||
| 333 | servers. These groups generally behave like any other group: they may | 333 | servers. These groups generally behave like any other group: they may |
| 334 | be ephemeral or persistent, and allow article marking, moving, | 334 | be ephemeral or persistent, and allow article marking, moving, |
| 335 | deletion, etc. 'nnselect' groups may be created like any other group, | 335 | deletion, etc. 'nnselect' groups may be created like any other group, |
| 336 | but there is also a convenience function for the common case of | 336 | but there are three convenience functions for the common case of |
| 337 | obtaining the list of articles as a result of a search: | 337 | obtaining 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' |
| 339 | search query and create a dedicated group for that search. As part of | 339 | search query and create a persistent group for that search; |
| 340 | this addition, the user option 'nnir-summary-line-format' has been | 340 | 'gnus-group-read-ephemeral-search-group' ('G G') that will prompt for |
| 341 | removed; its functionality is now available directly in the | 341 | an 'nnir' search query and create an ephemeral group for that search; |
| 342 | and 'gnus-summary-make-group-from-search' ('C-c C-p') that will create | ||
| 343 | a persistent group with the search parameters of a current ephemeral | ||
| 344 | search group. | ||
| 345 | |||
| 346 | As part of this addition, the user option 'nnir-summary-line-format' | ||
| 347 | has 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. |
| 7125 | The dribble buffer will then be saved. | 7142 | The dribble buffer will then be saved. |