X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=texi%2Fgnus.texi;h=cd692bb04627a062835891d1dc83d17b3ce6cb38;hb=507b285173baa14c25dc095f5c65d05a5474a8fe;hp=92a1423ed052a3994638d7c095d2d9944fcc5f18;hpb=3290776dcec80091cc398f1f800ca14ecd4e2035;p=gnus diff --git a/texi/gnus.texi b/texi/gnus.texi index 92a1423ed..cd692bb04 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Gnus 5.4 Manual +@settitle Gnus 5.4.29 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -287,13 +287,13 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Gnus 5.4 Manual +@title Gnus 5.4.29 Manual @author by Lars Magne Ingebrigtsen @page @vskip 0pt plus 1filll -Copyright @copyright{} 1995,96 Free Software Foundation, Inc. +Copyright @copyright{} 1995,96,97 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -323,7 +323,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Gnus 5.4. +This manual corresponds to Gnus 5.4.29 @end ifinfo @@ -854,10 +854,15 @@ startup files. If you want to turn backup creation off, say something like: @vindex gnus-init-file When Gnus starts, it will read the @code{gnus-site-init-file} -(@file{.../site-lisp/gnus.el} by default) and @code{gnus-init-file} -(@file{~/.gnus.el} by default) files. These are normal Emacs Lisp files -and can be used to avoid cluttering your @file{.emacs} and -@file{site-init} files with Gnus stuff. +(@file{.../site-lisp/gnus} by default) and @code{gnus-init-file} +(@file{~/.gnus} by default) files. These are normal Emacs Lisp files +and can be used to avoid cluttering your @file{~/.emacs} and +@file{site-init} files with Gnus stuff. Gnus will also check for files +with the same names as these, but with @file{.elc} and @file{.el} +suffixes. In other words, if you have set @code{gnus-init-file} to +@file{~/.gnus}, it will look for @file{~/.gnus.elc}, @file{~/.gnus.el}, +and finally @file{~/.gnus} (in this order). + @node Auto Save @@ -959,6 +964,11 @@ times you start Gnus. @vindex gnus-startup-hook A hook that is run after starting up Gnus successfully. +@item gnus-started-hook +@vindex gnus-started-hook +A hook that is run as the very last thing after starting up Gnus +successfully. + @item gnus-check-bogus-newsgroups @vindex gnus-check-bogus-newsgroups If non-@code{nil}, Gnus will check for and delete all bogus groups at @@ -1155,7 +1165,7 @@ User defined specifier. The next character in the format string should be a letter. @sc{gnus} will call the function @code{gnus-user-format-function-}@samp{X}, where @samp{X} is the letter following @samp{%u}. The function will be passed a single dummy -paratere as argument. The function should return a string, which will +parameter as argument. The function should return a string, which will be inserted into the buffer just like information from any other specifier. @end table @@ -1805,9 +1815,10 @@ Make a group based on some file or other (@code{gnus-group-make-doc-group}). If you give a prefix to this command, you will be prompted for a file name and a file type. Currently supported types are @code{babyl}, @code{mbox}, @code{digest}, -@code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs}, and -@code{forward}. If you run this command without a prefix, Gnus will -guess at the file type. @xref{Document Groups}. +@code{mmdf}, @code{news}, @code{rnews}, @code{clari-briefs}, +@code{rfc934}, @code{rfc822-forward}, and @code{forward}. If you run +this command without a prefix, Gnus will guess at the file type. +@xref{Document Groups}. @item G w @kindex G w (Group) @@ -1888,6 +1899,10 @@ doing a @kbd{a} in any group. It is totally ignored when doing a followup---except that if it is present in a news group, you'll get mail group semantics when doing @kbd{f}. +If you do an @kbd{a} command in a mail group and you don't have a +@code{to-list} group parameter, one will be added automatically upon +sending the message. + @item broken-reply-to @cindex broken-reply-to Elements like @code{(broken-reply-to . t)} signals that @code{Reply-To} @@ -1995,6 +2010,13 @@ Use the @kbd{G p} command to edit group parameters of a group. Also @pxref{Topic Parameters}. +Here's an example group parameter list: + +@example +((to-address . "ding@@ifi.uio.no") + (auto-expiry . t)) +@end example + @node Listing Groups @section Listing Groups @@ -2855,7 +2877,6 @@ news. @item H f @kindex H f (Group) -@itemx M-f @findex gnus-group-fetch-faq @vindex gnus-group-faq-directory @cindex FAQ @@ -4314,9 +4335,9 @@ also mark excluded ticked and dormant articles as read. @cindex threading @cindex article threading -Gnus threads articles by default. @dfn{To thread} is to put replies to -articles directly after the articles they reply to---in a hierarchical -fashion. +Gnus threads articles by default. @dfn{To thread} is to put responses +to articles directly after the articles they respond to---in a +hierarchical fashion. @menu * Customizing Threading:: Variables you can change to affect the threading. @@ -4381,7 +4402,8 @@ everything in sight into one thread, which isn't very helpful. @cindex fuzzy article gathering If you set this variable to the special value @code{fuzzy}, Gnus will -use a fuzzy string comparison algorithm on the subjects. +use a fuzzy string comparison algorithm on the subjects (@pxref{Fuzzy +Matching}). @item gnus-simplify-subject-fuzzy-regexp @vindex gnus-simplify-subject-fuzzy-regexp @@ -4666,7 +4688,8 @@ is non-@code{nil} (which it is by default), subjects will be ignored when doing thread commands. If this variable is @code{nil}, articles in the same thread with different subjects will not be included in the operation in question. If this variable is @code{fuzzy}, only articles -that have subjects that are fuzzily equal will be included. +that have subjects that are fuzzily equal will be included (@pxref{Fuzzy +Matching}). @node Sorting @@ -6007,6 +6030,12 @@ Remove all blank lines at the end of the article Do all the three commands above (@code{gnus-article-strip-blank-lines}). +@item W E s +@kindex W E s (Summary) +@findex gnus-article-strip-leading-space +Remove all white space from the beginning of all lines of the article +body (@code{gnus-article-strip-leading-space}). + @end table @@ -6203,9 +6232,11 @@ listed above. @cindex PostScript @cindex printing @kindex A P (Summary) +@vindex gnus-ps-print-hook @findex gnus-summary-print-article Generate and print a PostScript image of the article buffer -(@code{gnus-summary-print-article}). +(@code{gnus-summary-print-article}). @code{gnus-ps-print-hook} will be +run just before printing the buffer. @end table @@ -7576,10 +7607,11 @@ spell-checking via the @code{ispell} package: @cindex archived messages @cindex sent messages -Gnus provides a few different methods for storing the mail you send. -The default method is to use the @dfn{archive virtual server} to store -the mail. If you want to disable this completely, you should set -@code{gnus-message-archive-group} to @code{nil}. +Gnus provides a few different methods for storing the mail and news you +send. The default method is to use the @dfn{archive virtual server} to +store the messages. If you want to disable this completely, the +@code{gnus-message-archive-group} variable should be @code{nil}, which +is the default. @vindex gnus-message-archive-method @code{gnus-message-archive-method} says what virtual server Gnus is to @@ -7672,10 +7704,10 @@ if (using @kbd{G r} in the group buffer) to something nice---@samp{misc-mail-september-1995}, or whatever. New messages will continue to be stored in the old (now empty) group. -That's the default method of archiving sent mail. Gnus also a different -way for the people who don't like the default method. In that case you -should set @code{gnus-message-archive-group} to @code{nil}; this will -disable archiving. +That's the default method of archiving sent messages. Gnus also a +different way for the people who don't like the default method. In that +case you should set @code{gnus-message-archive-group} to @code{nil}; +this will disable archiving. XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to use a different value for @code{gnus-message-archive-group} there. @@ -7692,6 +7724,9 @@ If you want to have greater control over what group to put each message in, you can set this variable to a function that checks the current newsgroup name and then returns a suitable group name (or list of names). + +This variable can be used instead of @code{gnus-message-archive-group}, +but the latter is the preferred method. @end table @@ -7929,6 +7964,7 @@ To enter the server buffer, user the @kbd{^} * Server Commands:: Commands to manipulate servers. * Example Methods:: Examples server specifications. * Creating a Virtual Server:: An example session. +* Server Variables:: Which variables to set. * Servers and Methods:: You can use server names as select methods. * Unavailable Servers:: Some servers you try to contact may be down. @end menu @@ -8145,6 +8181,33 @@ Type @kbd{C-c C-c} to return to the server buffer. If you now press buffer, and you should be able to enter any of the groups displayed. +@node Server Variables +@subsection Server Variables + +One sticky point when defining variables (both on backends and in Emacs +in general) is that some variables are typically initialized from other +variables when the definition of the variables is being loaded. If you +change the "base" variable after the variables have been loaded, you +won't change the "derived" variables. + +This typically affects directory and file variables. For instance, +@code{nnml-directory} is @file{~/Mail/} by default, and all @code{nnml} +directory variables are initialized from that variable, so +@code{nnml-active-file} will be @file{~/Mail/active}. If you define a +new virtual @code{nnml} server, it will @emph{not} suffice to set just +@code{nnml-directory}---you have to explicitly set all the file +variables to be what you want them to be. For a complete list of +variables for each backend, see each backend's section later in this +manual, but here's an example @code{nnml} definition: + +@lisp +(nnml "public" + (nnml-directory "~/my-mail/") + (nnml-active-file "~/my-mail/active") + (nnml-newsgroups-file "~/my-mail/newsgroups")) +@end lisp + + @node Servers and Methods @subsection Servers and Methods @@ -8606,8 +8669,11 @@ argument. It should return a non-@code{nil} value if it thinks that the mail belongs in that group. The last of these groups should always be a general one, and the regular -expression should @emph{always} be @samp{} so that it matches any -mails that haven't been matched by any of the other regexps. +expression should @emph{always} be @samp{} so that it matches any mails +that haven't been matched by any of the other regexps. (These rules are +processed from the beginning of the alist toward the end. The first +rule to make a match will "win", unless you have crossposting enabled. +In that case, all matching rules will "win".) If you like to tinker with this yourself, you can set this variable to a function of your choice. This function will be called without any @@ -8684,6 +8750,8 @@ password, you can either set @code{nnmail-pop-password-required} to @code{t} and be prompted for the password, or set @code{nnmail-pop-password} to the password itself. +@code{nnmail-spool-file} can also be a list of mailboxes. + Your Emacs has to have been configured with @samp{--with-pop} before compilation. This is the default, but some installations have it switched off. @@ -8767,8 +8835,11 @@ to. @cindex incoming mail files @cindex deleting incoming files If non-@code{nil}, the mail backends will delete the temporary incoming -file after splitting mail into the proper groups. This is @code{nil} by -default for reasons of security. +file after splitting mail into the proper groups. This is @code{t} by +default. + +@c This is @code{nil} by +@c default for reasons of security. @c Since Red Gnus is an alpha release, it is to be expected to lose mail. (No Gnus release since (ding) Gnus 0.10 (or something like that) have @@ -8949,8 +9020,8 @@ Gnus to split the mail the normal way, you could set If you use @code{procmail} to split things directory into an @code{nnmh} directory (which you shouldn't do), you should set @code{nnmail-keep-last-article} to non-@code{nil} to prevent Gnus from -ever expiring the final article in a mail newsgroup. This is quite, -quite important. +ever expiring the final article (i. e., the article with the highest +article number) in a mail newsgroup. This is quite, quite important. Here's an example setup: The incoming spools are located in @file{~/incoming/} and have @samp{""} as suffixes (i. e., the incoming @@ -9071,7 +9142,9 @@ doesn't really mix very well. @vindex nnmail-expiry-wait The @code{nnmail-expiry-wait} variable supplies the default time an -expirable article has to live. The default is seven days. +expirable article has to live. Gnus starts counting days from when the +message @emph{arrived}, not from when it was sent. The default is seven +days. Gnus also supplies a function that lets you fine-tune how long articles are to live, based on what group they are in. Let's say you want to @@ -9229,9 +9302,8 @@ variable, which is 1000 by default. (So 1000 @code{Message-ID}s will be stored.) If all this sounds scary to you, you can set @code{nnmail-treat-duplicates} to @code{warn} (which is what it is by default), and @code{nnmail} won't delete duplicate mails. Instead it -will generate a brand new @code{Message-ID} for the mail and insert a -warning into the head of the mail saying that it thinks that this is a -duplicate of a different message. +will insert a warning into the head of the mail saying that it thinks +that this is a duplicate of a different message. This variable can also be a function. If that's the case, the function will be called from a buffer narrowed to the message in question with @@ -9696,8 +9768,9 @@ Virtual server variables: @item nndoc-article-type @vindex nndoc-article-type This should be one of @code{mbox}, @code{babyl}, @code{digest}, -@code{mmdf}, @code{forward}, @code{news}, @code{rnews}, -@code{mime-digest}, @code{clari-briefs}, or @code{guess}. +@code{mmdf}, @code{forward}, @code{rfc934}, @code{rfc822-forward}, +@code{news}, @code{rnews}, @code{mime-digest}, @code{clari-briefs}, or +@code{guess}. @item nndoc-post-type @vindex nndoc-post-type @@ -10600,7 +10673,7 @@ Exact matching. Substring matching. @item f -Fuzzy matching. +Fuzzy matching (@pxref{Fuzzy Matching}). @item r Regexp matching @@ -10909,7 +10982,7 @@ If the third element is present, it should be a number---the @dfn{date element}. This date says when the last time this score entry matched, which provides a mechanism for expiring the score entries. It this element is not present, the score entry is permanent. The date is -represented by the number of days since December 31, 1 ce. +represented by the number of days since December 31, 1 BCE. @item If the fourth element is present, it should be a symbol---the @dfn{type @@ -11394,7 +11467,7 @@ myself: @lisp ("references" - ("" 1000 nil r)) + ("" 1000 nil r)) @end lisp Whether it's the first two or first three characters that are ``yours'' @@ -12095,6 +12168,7 @@ four days, Gnus will decay the scores four times, for instance. * Undo:: Some actions can be undone. * Moderation:: What to do if you're a moderator. * XEmacs Enhancements:: There are more pictures and stuff under XEmacs. +* Fuzzy Matching:: What's the big fuzz? * Various Various:: Things that are really various. @end menu @@ -12546,8 +12620,8 @@ Here's a list of all possible keys for @code{browse}, @code{message}, @code{pick}, @code{info}, @code{summary-faq}, @code{edit-group}, @code{edit-server}, @code{edit-score}, @code{post}, @code{reply}, @code{forward}, -@code{reply-yank}, @code{mail-bounce}, @code{draft}, -@code{pipe}, @code{bug}, @code{compose-bounce}. +@code{reply-yank}, @code{mail-bounce}, @code{draft}, @code{pipe}, +@code{bug}, @code{compose-bounce}. Note that the @code{message} key is used for both @code{gnus-group-mail} and @code{gnus-summary-mail-other-window}. If @@ -12649,6 +12723,10 @@ this variable: If this variable is @code{nil} (which is the default), the mode line strings won't be chopped off, and they won't be padded either. +Note that the default is unlikely to be desirable, as even the +percentage complete in the buffer may be crowded off the mode line; +the user should configure this variable appropriately for their +configuration. @node Highlighting and Menus @@ -12715,21 +12793,6 @@ Other general variables that influence the look of all buffers include: This is the face (i.e., font) used for mouse highlighting in Gnus. No mouse highlights will be done if @code{gnus-visual} is @code{nil}. -@item gnus-display-type -@vindex gnus-display-type -This variable is symbol indicating the display type Emacs is running -under. The symbol should be one of @code{color}, @code{grayscale} or -@code{mono}. If Gnus guesses this display attribute wrongly, either set -this variable in your @file{~/.emacs} or set the resource -@code{Emacs.displayType} in your @file{~/.Xdefaults}. - -@item gnus-background-mode -@vindex gnus-background-mode -This is a symbol indicating the Emacs background brightness. The symbol -should be one of @code{light} or @code{dark}. If Gnus guesses this -frame attribute wrongly, either set this variable in your @file{~/.emacs} or -set the resource @code{Emacs.backgroundMode} in your @file{~/.Xdefaults}. -`gnus-display-type'. @end table There are hooks associated with the creation of all the different menus: @@ -13312,6 +13375,24 @@ default. @end table +@node Fuzzy Matching +@section Fuzzy Matching +@cindex fuzzy matching + +Gnus provides @dfn{fuzzy matching} of @code{Subject} lines when doing +things like scoring, thread gathering and thread comparison. + +As opposed to regular expression matching, fuzzy matching is very fuzzy. +It's so fuzzy that there's not even a definition of what @dfn{fuzziness} +means, and the implementation has changed over time. + +Basically, it tries to remove all noise from lines before comparing. +@samp{Re: }, parenthetical remarks, white space, and so on, are filtered +out of the strings before comparing the results. This often leads to +adequate results---even when faced with strings generated by text +manglers masquerading as newsreaders. + + @node Various Various @section Various Various @cindex mode lines @@ -13319,11 +13400,15 @@ default. @table @code +@item gnus-home-directory +All Gnus path variables will be initialized from this variable, which +defaults to @file{~/}. + @item gnus-directory @vindex gnus-directory -All Gnus directories will be initialized from this variable, which -defaults to the @samp{SAVEDIR} environment variable, or @file{~/News/} -if that variable isn't set. +Most Gnus storage path variables will be initialized from this variable, +which defaults to the @samp{SAVEDIR} environment variable, or +@file{~/News/} if that variable isn't set. @item gnus-default-directory @vindex gnus-default-directory @@ -13770,7 +13855,9 @@ Jack Vinson. Also thanks to the following for patches and stuff: +Adrian Aichner, Peter Arius, +Matt Armstrong, Marc Auslander, Chris Bone, Mark Borges, @@ -13780,6 +13867,7 @@ Martin Buchholz, Kevin Buhr, Alastair Burt, Joao Cachopo, +Zlatko Calusic, Massimo Campostrini, Michael R. Cook, Glenn Coombs, @@ -13798,25 +13886,30 @@ David S. Goldberg, D. Hall, Magnus Hammerin, Raja R. Harinath, +Hisashige Kenji, @c Hisashige Marc Horowitz, +François Felix Ingrand, Ishikawa Ichiro, @c Ishikawa -Francois Felix Ingrand, Lee Iverson, Rajappa Iyer, Randell Jesup, Fred Johansen, Greg Klanderman, +Karl Kleinpaste, Peter Skov Knudsen, Shuhei Kobayashi, @c Kobayashi Thor Kristoffersen, Jens Lautenbacher, Carsten Leonhardt, +James LewisMoss, Christian Limpach, Markus Linnala, Dave Love, Tonny Madsen, Shlomo Mahlab, Nat Makarevitch, +David Martin, +Gordon Matzigkeit, Timo Metzemakers, Richard Mlynarik, Lantz Moore, @@ -13839,6 +13932,7 @@ Jason Rumney, Loren Schall, Dan Schmidt, Ralph Schleicher, +Philippe Schnoebelen, Randal L. Schwartz, Danny Siu, Paul D. Smith, @@ -15170,9 +15264,9 @@ group-buffer = *active-line / *group-status A Gnus group info (@pxref{Group Info}) is handed to the backend for alterations. This comes in handy if the backend really carries all the -information (as is the case with virtual an imap groups). This function -should destructively alter the info to suit its needs, and should return -the (altered) group info. +information (as is the case with virtual and imap groups). This +function should destructively alter the info to suit its needs, and +should return the (altered) group info. There should be no result data from this function.