X-Git-Url: https://git.hcoop.net/bpt/emacs.git/blobdiff_plain/872faefb07a9196a583fc8cbe146ab6a2ebc9c2b..8c106d177f1a5b54f056ed4073e6501a684bc5d7:/doc/misc/gnus.texi diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 65e2ce6150..d05ed53e69 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -420,6 +420,9 @@ This manual corresponds to Gnus v5.13 * Index:: Variable, function and concept index. * Key Index:: Key Index. +@c Doesn't work right in html. +@c FIXME Do this in a more standard way. +@ifinfo Other related manuals * Message:(message). Composing messages. @@ -427,6 +430,7 @@ Other related manuals * Sieve:(sieve). Managing Sieve scripts in Emacs. * EasyPG:(epa). @acronym{PGP/MIME} with Gnus. * SASL:(sasl). @acronym{SASL} authentication in Emacs. +@end ifinfo @detailmenu --- The Detailed Node Listing --- @@ -2712,11 +2716,11 @@ the article range. This command is similar to @code{gnus-read-ephemeral-gmane-group}, but the group name and the article number and range are constructed from a given @acronym{URL}. Supported @acronym{URL} formats include: -@url{http://thread.gmane.org/gmane.foo.bar/12300/focus=12399}, -@url{http://thread.gmane.org/gmane.foo.bar/12345/}, -@url{http://article.gmane.org/gmane.foo.bar/12345/}, -@url{http://permalink.gmane.org/gmane.foo.bar/12345/}, and -@url{http://news.gmane.org/group/gmane.foo.bar/thread=12345}. +@indicateurl{http://thread.gmane.org/gmane.foo.bar/12300/focus=12399}, +@indicateurl{http://thread.gmane.org/gmane.foo.bar/12345/}, +@indicateurl{http://article.gmane.org/gmane.foo.bar/12345/}, +@indicateurl{http://permalink.gmane.org/gmane.foo.bar/12345/}, and +@indicateurl{http://news.gmane.org/group/gmane.foo.bar/thread=12345}. @item gnus-read-ephemeral-emacs-bug-group @findex gnus-read-ephemeral-emacs-bug-group @@ -3087,6 +3091,12 @@ if address "sender" ["name@@one.org", "else@@two.org"] @{ @} @end example +You can also use regexp expansions in the rules: + +@example +(sieve header :regex "list-id" "") +@end example + See @pxref{Sieve Commands} for commands and variables that might be of interest in relation to the sieve parameter. @@ -6376,10 +6386,10 @@ The default is @code{t}. @node Generic Marking Commands @subsection Generic Marking Commands -Some people would like the command that ticks an article (@kbd{!}) go to -the next article. Others would like it to go to the next unread -article. Yet others would like it to stay on the current article. And -even though I haven't heard of anybody wanting it to go to the +Some people would like the command that ticks an article (@kbd{!}) to +go to the next article. Others would like it to go to the next unread +article. Yet others would like it to stay on the current article. +And even though I haven't heard of anybody wanting it to go to the previous (unread) article, I'm sure there are people that want that as well. @@ -7384,6 +7394,14 @@ say something like: gnus-thread-sort-by-score)) @end lisp +By default, threads including their subthreads are sorted according to +the value of @code{gnus-thread-sort-functions}. By customizing +@code{gnus-subthread-sort-functions} you can define a custom sorting +order for subthreads. This allows for example to sort threads from +high score to low score in the summary buffer, but to have subthreads +still sorted chronologically from old to new without taking their +score into account. + @vindex gnus-thread-score-function The function in the @code{gnus-thread-score-function} variable (default @code{+}) is used for calculating the total score of a thread. Useful @@ -9517,18 +9535,9 @@ Say how much time has elapsed between the article was posted and now Date: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago @end example -This line is updated continually by default. The frequency (in -seconds) is controlled by the @code{gnus-article-update-date-headers} -variable. - -If you wish to switch updating off, say: - -@vindex gnus-article-update-date-headers -@lisp -(setq gnus-article-update-date-headers nil) -@end lisp - -in your @file{~/.gnus.el} file. +To make this line updated continually, set the +@code{gnus-article-update-date-headers} variable to the frequency in +seconds (the default is @code{nil}). @item W T o @kindex W T o (Summary) @@ -11857,6 +11866,11 @@ predicate. The following predicates are recognized: @code{or}, (typep "text/x-vcard")) @end lisp +@item +A function: the function is called with no arguments and should return +@code{nil} or non-@code{nil}. The current article is available in the +buffer named by @code{gnus-article-buffer}. + @end enumerate You may have noticed that the word @dfn{part} is used here. This refers @@ -13818,9 +13832,12 @@ installed. You then define a server as follows: @findex nntp-open-ssl-stream @item nntp-open-ssl-stream Opens a connection to a server over a @dfn{secure} channel. To use -this you must have @uref{http://www.openssl.org, OpenSSL} or -@uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL, SSLeay} installed. You -then define a server as follows: +this you must have @uref{http://www.openssl.org, OpenSSL} +@ignore +@c Defunct URL, ancient package, so don't mention it. +or @uref{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL, SSLeay} +@end ignore +installed. You then define a server as follows: @lisp ;; @r{"snews" is port 563 and is predefined in our @file{/etc/services}} @@ -14249,7 +14266,8 @@ variables are relevant: @table @code @item nnimap-inbox -This is the @acronym{IMAP} mail box that will be scanned for new mail. +This is the @acronym{IMAP} mail box that will be scanned for new +mail. This can also be a list of mail box names. @item nnimap-split-methods Uses the same syntax as @code{nnmail-split-methods} (@pxref{Splitting @@ -14541,6 +14559,7 @@ maildir, for instance. @menu * Mail Source Specifiers:: How to specify what a mail source is. +* Mail Source Functions:: * Mail Source Customization:: Some variables that influence things. * Fetching Mail:: Using the mail source specifiers. @end menu @@ -14777,14 +14796,16 @@ and says what authentication scheme to use. The default is @item :leave Non-@code{nil} if the mail is to be left on the @acronym{POP} server -after fetching. Mails once fetched will never be fetched again by the -@acronym{UIDL} control. Only the built-in @code{pop3-movemail} program -(the default) supports this keyword. +after fetching. Only the built-in @code{pop3-movemail} program (the +default) supports this keyword. -If this is neither @code{nil} nor a number, all mails will be left on -the server. If this is a number, leave mails on the server for this -many days since you first checked new mails. If this is @code{nil} -(the default), mails will be deleted on the server right after fetching. +If this is a number, leave mails on the server for this many days since +you first checked new mails. In that case, mails once fetched will +never be fetched again by the @acronym{UIDL} control. If this is +@code{nil} (the default), mails will be deleted on the server right +after fetching. If this is neither @code{nil} nor a number, all mails +will be left on the server, and you will end up getting the same mails +again and again. @vindex pop3-uidl-file The @code{pop3-uidl-file} variable specifies the file to which the @@ -15000,6 +15021,7 @@ useful when you use local mail and news. @end table @end table +@node Mail Source Functions @subsubsection Function Interface Some of the above keywords specify a Lisp function to be executed. @@ -15398,7 +15420,7 @@ substitutions in the group names), you can say things like: In this example, messages sent to @samp{debian-foo@@lists.debian.org} will be filed in @samp{mail.debian.foo}. -If the string contains the element @samp{\&}, then the previously +If the string contains the element @samp{\\&}, then the previously matched string will be substituted. Similarly, the elements @samp{\\1} up to @samp{\\9} will be substituted with the text matched by the groupings 1 through 9. @@ -16068,6 +16090,10 @@ Spool}). * Mail Spool:: Store your mail in a private spool? * MH Spool:: An mhspool-like back end. * Maildir:: Another one-file-per-message format. +* nnmaildir Group Parameters:: +* Article Identification:: +* NOV Data:: +* Article Marks:: * Mail Folders:: Having one file for each group. * Comparing Mail Back Ends:: An in-depth looks at pros and cons. @end menu @@ -16375,6 +16401,7 @@ different in the future. If your split rules create new groups, remember to supply a @code{create-directory} server parameter. @end table +@node nnmaildir Group Parameters @subsubsection Group parameters @code{nnmaildir} uses several group parameters. It's safe to ignore @@ -16485,6 +16512,7 @@ that are either marked with @code{tick} or not marked with @code{read}, plus a little extra. @end table +@node Article Identification @subsubsection Article identification Articles are stored in the @file{cur/} subdirectory of each maildir. Each article file is named like @code{uniq:info}, where @code{uniq} @@ -16497,6 +16525,7 @@ about the corresponding article. The full pathname of an article is available in the variable @code{nnmaildir-article-file-name} after you request the article in the summary buffer. +@node NOV Data @subsubsection NOV data An article identified by @code{uniq} has its @acronym{NOV} data (used to generate lines in the summary buffer) stored in @@ -16510,6 +16539,7 @@ file, but @emph{beware}: this will also cause @code{nnmaildir} to assign a new article number for this article, which may cause trouble with @code{seen} marks, the Agent, and the cache. +@node Article Marks @subsubsection Article marks An article identified by @code{uniq} is considered to have the mark @code{flag} when the file @file{.nnmaildir/marks/flag/uniq} exists. @@ -16951,7 +16981,7 @@ Some web sites have an RDF Site Summary (@acronym{RSS}). @acronym{RSS} is a format for summarizing headlines from news related sites (such as BBC or CNN). But basically anything list-like can be presented as an @acronym{RSS} feed: weblogs, changelogs or recent -changes to a wiki (e.g., @url{http://cliki.net/recent-changes.rdf}). +changes to a wiki (e.g., @url{http://cliki.net/site/recent-changes}). @acronym{RSS} has a quite regular and nice interface, and it's possible to get the information Gnus needs to keep groups updated. @@ -21081,17 +21111,17 @@ the articles that match this query, and takes you to a summary buffer showing these articles. Articles may then be read, moved and deleted using the usual commands. -The @code{nnir} group made in this way is an @code{ephemeral} group, and -some changes are not permanent: aside from reading, moving, and +The @code{nnir} group made in this way is an @code{ephemeral} group, +and some changes are not permanent: aside from reading, moving, and deleting, you can't act on the original article. But there is an -alternative: you can @emph{warp} to the original group for the article -on the current line with @kbd{A W}, aka +alternative: you can @emph{warp} (i.e., jump) to the original group +for the article on the current line with @kbd{A W}, aka @code{gnus-warp-to-article}. Even better, the function -@code{gnus-summary-refer-thread}, bound by default in summary buffers to -@kbd{A T}, will first warp to the original group before it works its -magic and includes all the articles in the thread. From here you can -read, move and delete articles, but also copy them, alter article marks, -whatever. Go nuts. +@code{gnus-summary-refer-thread}, bound by default in summary buffers +to @kbd{A T}, will first warp to the original group before it works +its magic and includes all the articles in the thread. From here you +can read, move and delete articles, but also copy them, alter article +marks, whatever. Go nuts. You say you want to search more than just the group on the current line? No problem: just process-mark the groups you want to search. You want @@ -21133,6 +21163,7 @@ query language anyway. * The swish++ Engine:: Swish++ configuration and usage. * The swish-e Engine:: Swish-e configuration and usage. * The namazu Engine:: Namazu configuration and usage. +* The notmuch Engine:: Notmuch configuration and usage. * The hyrex Engine:: Hyrex configuration and usage. * Customizations:: User customizable settings. @end menu @@ -21362,6 +21393,26 @@ mknmz --mailnews ~/Mail/archive/ ~/Mail/mail/ ~/Mail/lists/ For maximum searching efficiency you might want to have a cron job run this command periodically, say every four hours. + +@node The notmuch Engine +@subsubsection The notmuch Engine + +@table @code +@item nnir-notmuch-program +The name of the notmuch search executable. Defaults to +@samp{notmuch}. + +@item nnir-notmuch-additional-switches +A list of strings, to be given as additional arguments to notmuch. + +@item nnir-notmuch-remove-prefix +The prefix to remove from each file name returned by notmuch in order +to get a group name (albeit with @samp{/} instead of @samp{.}). This +is a regular expression. + +@end table + + @node The hyrex Engine @subsubsection The hyrex Engine This engine is obsolete. @@ -22947,7 +22998,7 @@ elements on the line is (i.e., the non-info part). If you put additional elements on the mode line (e.g., a clock), you should modify this variable: -@c Hook written by Francesco Potorti` +@c Hook written by Francesco Potortì @lisp (add-hook 'display-time-hook (lambda () (setq gnus-mode-non-string-length @@ -25850,8 +25901,8 @@ of all messages matching a particular set of criteria. @menu * Gnus Registry Setup:: -* Fancy splitting to parent:: * Registry Article Refer Method:: +* Fancy splitting to parent:: * Store custom flags and keywords:: * Store arbitrary data:: @end menu @@ -25991,9 +26042,13 @@ following variables. @defvar gnus-registry-track-extra This is a list of symbols, so it's best to change it from the -Customize interface. By default it's @code{(subject sender)}, which -may work for you. It can be annoying if your mail flow is large and -people don't stick to the same groups. +Customize interface. By default it's @code{(subject sender recipient)}, +which may work for you. It can be annoying if your mail flow is large +and people don't stick to the same groups. + +When you decide to stop tracking any of those extra data, you can use +the command @code{gnus-registry-remove-extra-data} to purge it from +the existing registry entries. @end defvar @defvar gnus-registry-split-strategy @@ -26566,7 +26621,7 @@ This version of Gnus should work on: @itemize @bullet @item -Emacs 21.1 and up. +Emacs 23.1 and up. @item XEmacs 21.4 and up.