Synch with Oort Gnus.
[elisp/gnus.git-] / texi / gnus.texi
index f71c2f3..7d52957 100644 (file)
@@ -1,4 +1,4 @@
-\input texinfo                  @c -*-texinfo-*-  -*- coding: iso-latin-1 -*-
+\input texinfo
 
 @setfilename gnus
 @settitle T-gnus 6.15 Manual
@@ -315,7 +315,7 @@ license to the document, as described in section 6 of the license.
 
 This file documents gnus, the GNU Emacs newsreader.
 
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 
+Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001
         Free Software Foundation, Inc.
 
 Permission is granted to copy, distribute and/or modify this document
@@ -505,7 +505,7 @@ Summary Buffer
 * Choosing Articles::           Reading articles.
 * Paging the Article::          Scrolling the current article.
 * Reply Followup and Post::     Posting articles.
-* Delayed Articles::            
+* Delayed Articles::
 * Marking Articles::            Marking articles as read, expirable, etc.
 * Limiting::                    You can limit the summary buffer.
 * Threading::                   How threads are made.
@@ -550,16 +550,16 @@ Reply, Followup and Post
 * Summary Mail Commands::       Sending mail.
 * Summary Post Commands::       Sending news.
 * Summary Message Commands::    Other Message-related commands.
-* Canceling and Superseding::   
+* Canceling and Superseding::
 
 Marking Articles
 
 * Unread Articles::             Marks for unread articles.
 * Read Articles::               Marks for read articles.
 * Other Marks::                 Marks that do not affect readedness.
-* Setting Marks::               
-* Generic Marking Commands::    
-* Setting Process Marks::       
+* Setting Marks::
+* Generic Marking Commands::
+* Setting Process Marks::
 
 Marking Articles
 
@@ -614,7 +614,7 @@ Various Summary Stuff
 
 * Summary Group Information::   Information oriented commands.
 * Searching for Articles::      Multiple article commands.
-* Summary Generation Commands::  
+* Summary Generation Commands::
 * Really Various Summary Commands::  Those pesky non-conformant commands.
 
 Article Buffer
@@ -759,9 +759,9 @@ Agent Categories
 
 Agent Commands
 
-* Group Agent Commands::        
-* Summary Agent Commands::      
-* Server Agent Commands::       
+* Group Agent Commands::
+* Summary Agent Commands::
+* Server Agent Commands::
 
 Scoring
 
@@ -1709,10 +1709,10 @@ a @code{printf} specifications, for those of you who use (feh!) C.
 @samp{%M%S%5y: %(%g%)\n} is the value that produced those lines above.
 
 There should always be a colon on the line; the cursor always moves to
-the colon after performing an operation.  Nothing else is required---not
-even the group name.  All displayed text is just window dressing, and is
-never examined by gnus.  Gnus stores all real information it needs using
-text properties.
+the colon after performing an operation.  @xref{Positioning
+Point}. Nothing else is required---not even the group name.  All
+displayed text is just window dressing, and is never examined by Gnus.
+Gnus stores all real information it needs using text properties.
 
 (Note that if you make a really strange, wonderful, spreadsheet-like
 layout, everybody will believe you are hard at work with the accounting
@@ -3783,6 +3783,11 @@ When subscribing new groups by topic (@pxref{Subscription Methods}), the
 value should be a regexp to match the groups that should go in that
 topic.
 
+@item subscribe-level
+When subscribing new groups by topic (see the @code{subscribe} parameter),
+the group will be subscribed with the level specified in the 
+@code{subscribe-level} instead of @code{gnus-level-default-subscribed}.
+
 @end table
 
 Group parameters (of course) override topic parameters, and topic
@@ -3850,14 +3855,33 @@ Enter the server buffer (@code{gnus-group-enter-server-mode}).
 @item a
 @kindex a (Group)
 @findex gnus-group-post-news
-Post an article to a group (@code{gnus-group-post-news}).  If given a
-prefix, the current group name will be used as the default.
-@xref{Composing Messages}.
+Start composing a message (a news by default)
+(@code{gnus-group-post-news}).  If given a prefix, post to the group
+under the point.  If the prefix is 1, prompt for a group to post to.
+Contrary to what the name of this function suggests, the prepared
+article might be a mail instead of a news, if a mail group is specified
+with the prefix argument.  @xref{Composing Messages}.
 
 @item m
 @kindex m (Group)
 @findex gnus-group-mail
-Mail a message somewhere (@code{gnus-group-mail}).  @xref{Composing Messages}.
+Mail a message somewhere (@code{gnus-group-mail}).  If given a prefix,
+use the posting style of the group under the point.  If the prefix is 1,
+prompt for a group name to find the posting style.
+@xref{Composing Messages}.
+
+@item i
+@kindex i (Group)
+@findex gnus-group-news
+Start composing a news (@code{gnus-group-news}).  If given a prefix,
+post to the group under the point.  If the prefix is 1, prompt
+for group to post to.  @xref{Composing Messages}.
+
+This function actually prepares a news even when using mail groups.
+This is useful for "posting" messages to mail groups without actually
+sending them over the network: they're just saved directly to the group
+in question.  The corresponding backend must have a request-post method
+for this to work though.
 
 @end table
 
@@ -4177,7 +4201,7 @@ You can have as many summary buffers open as you wish.
 * Choosing Articles::           Reading articles.
 * Paging the Article::          Scrolling the current article.
 * Reply Followup and Post::     Posting articles.
-* Delayed Articles::            
+* Delayed Articles::
 * Marking Articles::            Marking articles as read, expirable, etc.
 * Limiting::                    You can limit the summary buffer.
 * Threading::                   How threads are made.
@@ -4266,6 +4290,7 @@ the cursor always moves to the point position marker or the colon after
 performing an operation.  (Of course, Gnus wouldn't be Gnus if it wasn't
 possible to change this.  Just write a new function
 @code{gnus-goto-colon} which does whatever you like with the cursor.)
+@xref{Positioning Point}.
 
 The default string is @samp{%U%R%z%I%(%[%4L: %-23,23n%]%) %s\n}.
 
@@ -4888,7 +4913,7 @@ Select the article buffer (@code{gnus-summary-select-article-buffer}).
 * Summary Mail Commands::       Sending mail.
 * Summary Post Commands::       Sending news.
 * Summary Message Commands::    Other Message-related commands.
-* Canceling and Superseding::   
+* Canceling and Superseding::
 @end menu
 
 
@@ -4961,8 +4986,24 @@ headers of the forwarded article.
 @kindex S m (Summary)
 @findex gnus-summary-mail-other-window
 @c @icon{gnus-summary-mail-originate}
-Send a mail to some other person
-(@code{gnus-summary-mail-other-window}).
+Prepare a mail (@code{gnus-summary-mail-other-window}).  By default, use
+the posting style of the current group.  If given a prefix, disable that.
+If the prefix is 1, prompt for a group name to find the posting style.
+
+@item S i
+@itemx i
+@kindex i (Summary)
+@kindex S i (Summary)
+@findex gnus-summary-news-other-window
+Prepare a news (@code{gnus-summary-news-other-window}).  By default,
+post to the current group.  If given a prefix, disable that.  If the
+prefix is 1, prompt for a group to post to.
+
+This function actually prepares a news even when using mail groups.
+This is useful for "posting" messages to mail groups without actually
+sending them over the network: they're just saved directly to the group
+in question.  The corresponding backend must have a request-post method
+for this to work though.
 
 @item S D b
 @kindex S D b (Summary)
@@ -5040,8 +5081,9 @@ Commands for posting a news article:
 @kindex S p (Summary)
 @findex gnus-summary-post-news
 @c @icon{gnus-summary-post-news}
-Post an article to the current group
-(@code{gnus-summary-post-news}).
+Prepare for posting an article (@code{gnus-summary-post-news}).  By
+default, post to the current group.  If given a prefix, disable that.
+If the prefix is 1, prompt for another group instead.
 
 @item S f
 @itemx f
@@ -5468,7 +5510,7 @@ mark, in which case it simply never appear.
 @item
 @vindex gnus-unseen-mark
 Articles that haven't been seen by the user before are marked with a
-@samp{.} in the second column (@code{gnus-unseen-mark}). 
+@samp{.} in the second column (@code{gnus-unseen-mark}).
 
 @item
 @vindex gnus-not-empty-thread-mark
@@ -5947,7 +5989,7 @@ if @var{back-end}@code{-get-new-mail} is non-@code{nil}.
 @kindex / o (Summary)
 @findex gnus-summary-insert-old-articles
 Insert all old articles in the summary buffer. If given a numbered
-prefix, fetch this number of articles.  
+prefix, fetch this number of articles.
 
 @end table
 
@@ -6887,6 +6929,17 @@ Save the current article in a VM folder
 @findex gnus-summary-pipe-output
 Save the current article in a pipe.  Uhm, like, what I mean is---Pipe
 the current article to a process (@code{gnus-summary-pipe-output}).
+
+@item O P
+@kindex O P (Summary)
+@findex gnus-summary-muttprint
+@vindex gnus-summary-muttprint-program
+Save the current article into muttprint. That is, print it using the
+external program Muttprint (see
+@uref{http://muttprint.sourceforge.net/}). The program name and
+options to use is controlled by the variable
+@code{gnus-summary-muttprint-program}. (@code{gnus-summary-muttprint}).
+
 @end table
 
 @vindex gnus-prompt-before-saving
@@ -8028,7 +8081,7 @@ will try to convert the @code{X-Face} header using external programs
 from the @code{pbmplus} package and friends.@footnote{On a GNU/Linux
 system look for packages with names like @code{netpbm} or
 @code{libgr-progs}.})  If you want to have this function in the display
-hook, it should probably come last.  
+hook, it should probably come last.
 (NOTE: @code{x-face} is used in the variable/function names, not @code{xface}).
 
 @item W b
@@ -8651,8 +8704,9 @@ something like
 @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-ps-print-hook} will be
-run just before printing the buffer.
+(@code{gnus-summary-print-article}).  @code{gnus-ps-print-hook} will
+be run just before printing the buffer.  An alternative way to print
+article is to use Muttprint (@pxref{Saving Articles}).
 
 @end table
 
@@ -9214,7 +9268,7 @@ suggestions you find reasonable.  (Note that
 @menu
 * Summary Group Information::   Information oriented commands.
 * Searching for Articles::      Multiple article commands.
-* Summary Generation Commands::  
+* Summary Generation Commands::
 * Really Various Summary Commands::  Those pesky non-conformant commands.
 @end menu
 
@@ -9279,9 +9333,9 @@ while still allowing them to affect operations done in other
 buffers. For example:
 
 @lisp
-(setq gnus-newsgroup-variables 
+(setq gnus-newsgroup-variables
      '(message-use-followup-to
-       (gnus-visible-headers . 
+       (gnus-visible-headers .
         "^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^To:")))
 @end lisp
 
@@ -10205,7 +10259,7 @@ Displayed when cited text may be hidden in the article buffer.
 @item h
 Displayed when headers are hidden in the article buffer.
 
-@item p 
+@item p
 Displayed when article is digitally signed or encrypted, and Gnus has
 hidden the security headers.  (N.B. does not tell anything about
 security status, i.e. good or bad signature.)
@@ -13048,6 +13102,26 @@ Here's an example for specifying a group name:
 (setq nnmail-expiry-target "nnml:expired")
 @end lisp
 
+@findex nnmail-fancy-expiry-target
+@vindex nnmail-fancy-expiry-targets
+Gnus provides a function @code{nnmail-fancy-expiry-target} which will
+expire mail to groups according to the variable
+@code{nnmail-fancy-expiry-targets}.  Here's an example:
+
+@lisp
+ (setq nnmail-expiry-target 'nnmail-fancy-expiry-target
+       nnmail-fancy-expiry-targets
+       '((to-from "boss" "nnfolder:Work")
+        ("subject" "IMPORTANT" "nnfolder:IMPORTANT.%Y.%b")
+         ("from" ".*" "nnfolder:Archive-%Y")))
+@end lisp
+
+With this setup, any mail that has @code{IMPORTANT} in its Subject
+header and was sent in the year @code{YYYY} and month @code{MMM}, will
+get expired to the group @code{nnfolder:IMPORTANT.YYYY.MMM}. If its
+From or To header contains the string @code{boss}, it will get expired
+to @code{nnfolder:Work}. All other mail will get expired to
+@code{nnfolder:Archive-YYYY}.
 
 @vindex nnmail-keep-last-article
 If @code{nnmail-keep-last-article} is non-@code{nil}, Gnus will never
@@ -14494,7 +14568,7 @@ This variable can also have a function as its value, the function will
 be called with the headers narrowed and should return a group where it
 thinks the article should be split to.  See @code{nnimap-split-fancy}.
 
-The splitting code tries to create mailboxes if it need too.
+The splitting code tries to create mailboxes if it needs to.
 
 To allow for different split rules on different virtual servers, and
 even different split rules in different inboxes on the same server,
@@ -15376,7 +15450,7 @@ there is typically no sure way for the component back end to know this,
 and in that case @code{nnvirtual} tells Gnus that the article came from a
 not-news back end.  (Just to be on the safe side.)
 
-@kbd{C-c C-t} in the message buffer will insert the @code{Newsgroups}
+@kbd{C-c C-n} in the message buffer will insert the @code{Newsgroups}
 line from the article you respond to in these cases.
 
 
@@ -15966,9 +16040,9 @@ toggles the plugged/unplugged state of the Gnus Agent.
 
 
 @menu
-* Group Agent Commands::        
-* Summary Agent Commands::      
-* Server Agent Commands::       
+* Group Agent Commands::
+* Summary Agent Commands::
+* Server Agent Commands::
 @end menu
 
 You can run a complete batch fetch from the command line with the
@@ -16060,7 +16134,7 @@ Mark all undownloaded articles as read (@code{gnus-agent-catchup}).
 @kindex J u (Agent Summary)
 @findex gnus-agent-summary-fetch-group
 Download all downloadable articles in the current group
-(@code{gnus-agent-summary-fetch-group}). 
+(@code{gnus-agent-summary-fetch-group}).
 
 @end table
 
@@ -17410,7 +17484,7 @@ Newsgroups} section of the manual, it's explained in greater detail what
 this mechanism does, but here's a cookbook example for @code{nnml} on
 how to allow scoring on the @samp{To} and @samp{Cc} headers.
 
-Put the following in your @file{.gnus.el} file. 
+Put the following in your @file{.gnus.el} file.
 
 @lisp
 (setq gnus-extra-headers '(To Cc Newsgroups Keywords)
@@ -17960,6 +18034,10 @@ simple scoring, and the match types are also the same.
 @node Advanced Scoring Examples
 @subsection Advanced Scoring Examples
 
+Please note that the following examples are score file rules.  To
+make a complete score file from them, surround them with another pair
+of parentheses.
+
 Let's say you want to increase the score of articles written by Lars
 when he's talking about Gnus:
 
@@ -21350,7 +21428,7 @@ New features in Gnus 5.8:
 
 @itemize @bullet
 
-@item 
+@item
 The mail-fetching functions have changed.  See the manual for the
 many details.  In particular, all procmail fetching variables are gone.
 
@@ -21374,7 +21452,7 @@ this now has changed to
 More information is available in the info doc at Select Methods ->
 Getting Mail -> Mail Sources
 
-@item 
+@item
 Gnus is now a MIME-capable reader.  This affects many parts of
 Gnus, and adds a slew of new commands.  See the manual for details.
 
@@ -23485,6 +23563,9 @@ former).  The manual is unambiguous, but it can be confusing.
 @end iflatex
 @end iftex
 
+@c Local Variables:
+@c mode: texinfo
+@c coding: iso-8859-1
 @c End:
 % LocalWords:  BNF mucho detailmenu cindex kindex kbd
 % LocalWords:  findex Gnusae vindex dfn dfn samp nntp setq nnspool nntpserver