No Gnus v0.12 is begun
[gnus] / texi / gnus.texi
index 83efd23..66dd586 100644 (file)
@@ -1,5 +1,7 @@
 \input texinfo
 
 \input texinfo
 
+@include gnus-overrides.texi
+
 @setfilename gnus
 @settitle Gnus Manual
 @syncodeindex fn cp
 @setfilename gnus
 @settitle Gnus Manual
 @syncodeindex fn cp
@@ -9,8 +11,7 @@
 @documentencoding ISO-8859-1
 
 @copying
 @documentencoding ISO-8859-1
 
 @copying
-Copyright @copyright{} 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+Copyright @copyright{} 1995-2011 Free Software Foundation, Inc.
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
 
 @quotation
 Permission is granted to copy, distribute and/or modify this document
@@ -46,7 +47,7 @@ developing GNU and promoting software freedom.''
 \begin{document}
 
 % Adjust ../Makefile.in if you change the following line:
 \begin{document}
 
 % Adjust ../Makefile.in if you change the following line:
-\newcommand{\gnusversionname}{No Gnus v0.11}
+\newcommand{\gnusversionname}{No Gnus v0.12}
 \newcommand{\gnuschaptername}{}
 \newcommand{\gnussectionname}{}
 
 \newcommand{\gnuschaptername}{}
 \newcommand{\gnussectionname}{}
 
@@ -320,7 +321,7 @@ developing GNU and promoting software freedom.''
 @end iflatex
 @end iftex
 
 @end iflatex
 @end iftex
 
-@dircategory Emacs
+@dircategory Emacs network features
 @direntry
 * Gnus: (gnus).                 The newsreader Gnus.
 @end direntry
 @direntry
 * Gnus: (gnus).                 The newsreader Gnus.
 @end direntry
@@ -330,7 +331,12 @@ developing GNU and promoting software freedom.''
 
 
 @titlepage
 
 
 @titlepage
+@ifset WEBHACKDEVEL
+@title Gnus Manual (DEVELOPMENT VERSION)
+@end ifset
+@ifclear WEBHACKDEVEL
 @title Gnus Manual
 @title Gnus Manual
+@end ifclear
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -352,7 +358,7 @@ spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
 @c Adjust ../Makefile.in if you change the following line:
 luck.
 
 @c Adjust ../Makefile.in if you change the following line:
-This manual corresponds to No Gnus v0.11.
+This manual corresponds to No Gnus v0.12
 
 @ifnottex
 @insertcopying
 
 @ifnottex
 @insertcopying
@@ -386,7 +392,7 @@ people should be empowered to do what they want by using (or abusing)
 the program.
 
 @c Adjust ../Makefile.in if you change the following line:
 the program.
 
 @c Adjust ../Makefile.in if you change the following line:
-This manual corresponds to No Gnus v0.11.
+This manual corresponds to No Gnus v0.12
 
 @heading Other related manuals
 @itemize
 
 @heading Other related manuals
 @itemize
@@ -704,6 +710,7 @@ Other Sources
 * Anything Groups::             Dired?  Who needs dired?
 * Document Groups::             Single files can be the basis of a group.
 * Mail-To-News Gateways::       Posting articles via mail-to-news gateways.
 * Anything Groups::             Dired?  Who needs dired?
 * Document Groups::             Single files can be the basis of a group.
 * Mail-To-News Gateways::       Posting articles via mail-to-news gateways.
+* The Empty Backend::           The backend that never has any news.
 
 Document Groups
 
 
 Document Groups
 
@@ -793,7 +800,7 @@ Searching
 
 nnir
 
 
 nnir
 
-* What is nnir::                What does nnir do.
+* What is nnir?::               What does nnir do.
 * Basic Usage::                 How to perform simple searches.
 * Setting up nnir::             How to set up nnir.
 
 * Basic Usage::                 How to perform simple searches.
 * Setting up nnir::             How to set up nnir.
 
@@ -2512,6 +2519,15 @@ the command to be executed.
 @section Foreign Groups
 @cindex foreign groups
 
 @section Foreign Groups
 @cindex foreign groups
 
+If you recall how to subscribe to servers (@pxref{Finding the News})
+you will remember that @code{gnus-secondary-select-methods} and
+@code{gnus-select-method} let you write a definition in Emacs Lisp of
+what servers you want to see when you start up.  The alternate
+approach is to use foreign servers and groups.  ``Foreign'' here means
+they are not coming from the select methods.  All foreign server
+configuration and subscriptions are stored only in the
+@file{~/.newsrc.eld} file.
+
 Below are some group mode commands for making and editing general foreign
 groups, as well as commands to ease the creation of a few
 special-purpose groups.  All these commands insert the newly created
 Below are some group mode commands for making and editing general foreign
 groups, as well as commands to ease the creation of a few
 special-purpose groups.  All these commands insert the newly created
@@ -4932,7 +4948,7 @@ Download mark.
 Desired cursor position (instead of after first colon).
 @item &user-date;
 Age sensitive date format.  Various date format is defined in
 Desired cursor position (instead of after first colon).
 @item &user-date;
 Age sensitive date format.  Various date format is defined in
-@code{gnus-user-date-format-alist}.
+@code{gnus-summary-user-date-format-alist}.
 @item u
 User defined specifier.  The next character in the format string should
 be a letter.  Gnus will call the function
 @item u
 User defined specifier.  The next character in the format string should
 be a letter.  Gnus will call the function
@@ -9483,26 +9499,18 @@ Say how much time has elapsed between the article was posted and now
 (@code{gnus-article-date-lapsed}).  It looks something like:
 
 @example
 (@code{gnus-article-date-lapsed}).  It looks something like:
 
 @example
-X-Sent: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago
+Date: 6 weeks, 4 days, 1 hour, 3 minutes, 8 seconds ago
 @end example
 
 @end example
 
-@vindex gnus-article-date-lapsed-new-header
-The value of @code{gnus-article-date-lapsed-new-header} determines
-whether this header will just be added below the old Date one, or will
-replace it.
-
-An advantage of using Gnus to read mail is that it converts simple bugs
-into wonderful absurdities.
-
-If you want to have this line updated continually, you can put
+This line is updated continually by default.  If you wish to switch
+that off, say:
 
 
+@vindex gnus-article-update-date-headers
 @lisp
 @lisp
-(gnus-start-date-timer)
+(setq gnus-article-update-date-headers nil)
 @end lisp
 
 @end lisp
 
-in your @file{~/.gnus.el} file, or you can run it off of some hook.  If
-you want to stop the timer, you can use the @code{gnus-stop-date-timer}
-command.
+in your @file{~/.gnus.el} file.
 
 @item W T o
 @kindex W T o (Summary)
 
 @item W T o
 @kindex W T o (Summary)
@@ -11868,13 +11876,7 @@ controlling variable is a predicate list, as described above.
 @vindex gnus-treat-strip-trailing-blank-lines
 @vindex gnus-treat-unsplit-urls
 @vindex gnus-treat-wash-html
 @vindex gnus-treat-strip-trailing-blank-lines
 @vindex gnus-treat-unsplit-urls
 @vindex gnus-treat-wash-html
-@vindex gnus-treat-date-english
-@vindex gnus-treat-date-iso8601
-@vindex gnus-treat-date-lapsed
-@vindex gnus-treat-date-local
-@vindex gnus-treat-date-original
-@vindex gnus-treat-date-user-defined
-@vindex gnus-treat-date-ut
+@vindex gnus-treat-date
 @vindex gnus-treat-from-picon
 @vindex gnus-treat-mail-picon
 @vindex gnus-treat-newsgroups-picon
 @vindex gnus-treat-from-picon
 @vindex gnus-treat-mail-picon
 @vindex gnus-treat-newsgroups-picon
@@ -11929,13 +11931,39 @@ possible but those listed are probably sufficient for most people.
 
 @xref{Article Washing}.
 
 
 @xref{Article Washing}.
 
-@item gnus-treat-date-english (head)
-@item gnus-treat-date-iso8601 (head)
-@item gnus-treat-date-lapsed (head)
-@item gnus-treat-date-local (head)
-@item gnus-treat-date-original (head)
-@item gnus-treat-date-user-defined (head)
-@item gnus-treat-date-ut (head)
+@item gnus-treat-date (head)
+
+This will transform/add date headers according to the
+@code{gnus-article-date-headers} variable.  This is a list of Date
+headers to display.  The formats available are:
+
+@table @code
+@item ut
+Universal time, aka GMT, aka ZULU.
+
+@item local
+The user's local time zone.
+
+@item english
+A semi-readable English sentence.
+
+@item lapsed
+The time elapsed since the message was posted.
+
+@item combined-lapsed
+Both the original date header and a (shortened) elapsed time.
+
+@item original
+The original date header.
+
+@item iso8601
+ISO8601 format, i.e., ``2010-11-23T22:05:21''.
+
+@item user-defined
+A format done according to the @code{gnus-article-time-format}
+variable.
+
+@end table
 
 @xref{Article Date}.
 
 
 @xref{Article Date}.
 
@@ -12611,9 +12639,6 @@ messages in one file per month:
           (concat "mail." (format-time-string "%Y-%m")))))
 @end lisp
 
           (concat "mail." (format-time-string "%Y-%m")))))
 @end lisp
 
-@c (XEmacs 19.13 doesn't have @code{format-time-string}, so you'll have to
-@c use a different value for @code{gnus-message-archive-group} there.)
-
 Now, when you send a message off, it will be stored in the appropriate
 group.  (If you want to disable storing for just one particular message,
 you can just remove the @code{Gcc} header that has been inserted.)  The
 Now, when you send a message off, it will be stored in the appropriate
 group.  (If you want to disable storing for just one particular message,
 you can just remove the @code{Gcc} header that has been inserted.)  The
@@ -12625,11 +12650,6 @@ 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.
 
 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 messages.  Gnus offers 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.
-
 @table @code
 @item gnus-gcc-mark-as-read
 @vindex gnus-gcc-mark-as-read
 @table @code
 @item gnus-gcc-mark-as-read
 @vindex gnus-gcc-mark-as-read
@@ -14242,6 +14262,18 @@ The default is @samp{(%Deleted %Seen)}.
 
 @end table
 
 
 @end table
 
+Here's a complete example @code{nnimap} backend with a client-side
+``fancy'' splitting method:
+
+@example
+(nnimap "imap.example.com"
+        (nnimap-inbox "INBOX")
+        (nnimap-split-methods
+         (| ("MailScanner-SpamCheck" "spam" "spam.detected")
+            (to "foo@@bar.com" "foo")
+            "undecided")))
+@end example
+
 
 @node Getting Mail
 @section Getting Mail
 
 @node Getting Mail
 @section Getting Mail
@@ -17126,6 +17158,7 @@ newsgroups.
 * Anything Groups::             Dired?  Who needs dired?
 * Document Groups::             Single files can be the basis of a group.
 * Mail-To-News Gateways::       Posting articles via mail-to-news gateways.
 * Anything Groups::             Dired?  Who needs dired?
 * Document Groups::             Single files can be the basis of a group.
 * Mail-To-News Gateways::       Posting articles via mail-to-news gateways.
+* The Empty Backend::           The backend that never has any news.
 @end menu
 
 
 @end menu
 
 
@@ -17573,6 +17606,22 @@ So, to use this, simply say something like:
 @end lisp
 
 
 @end lisp
 
 
+@node The Empty Backend
+@subsection The Empty Backend
+@cindex nnnil
+
+@code{nnnil} is a backend that can be used as a placeholder if you
+have to specify a backend somewhere, but don't really want to.  The
+classical example is if you don't want to have a primary select
+methods, but want to only use secondary ones:
+
+@lisp
+(setq gnus-select-method '(nnnil ""))
+(setq gnus-secondary-select-methods
+      '((nnimap "foo")
+        (nnml "")))
+@end lisp
+
 
 @node Combined Groups
 @section Combined Groups
 
 @node Combined Groups
 @section Combined Groups
@@ -21026,24 +21075,25 @@ This section describes how to use @code{nnir} to search for articles
 within gnus.
 
 @menu
 within gnus.
 
 @menu
-* What is nnir::                What does nnir do?
+* What is nnir?::               What does @code{nnir} do?
 * Basic Usage::                 How to perform simple searches.
 * Basic Usage::                 How to perform simple searches.
-* Setting up nnir::             How to set up nnir.
+* Setting up nnir::             How to set up @code{nnir}.
 @end menu
 
 @end menu
 
-@node What is nnir
-@subsection What is nnir
+@node What is nnir?
+@subsection What is nnir?
 
 
-@code{nnir} is a gnus interface to a number of tools for searching
+@code{nnir} is a Gnus interface to a number of tools for searching
 through mail and news repositories. Different backends (like
 @code{nnimap} and @code{nntp}) work with different tools (called
 through mail and news repositories. Different backends (like
 @code{nnimap} and @code{nntp}) work with different tools (called
-@dfn{engines} in nnir lingo), but all use the same basic search
+@dfn{engines} in @code{nnir} lingo), but all use the same basic search
 interface.
 
 The @code{nnimap} and @code{gmane} search engines should work with no
 configuration. Other engines require a local index that needs to be
 created and maintained outside of Gnus. 
 
 interface.
 
 The @code{nnimap} and @code{gmane} search engines should work with no
 configuration. Other engines require a local index that needs to be
 created and maintained outside of Gnus. 
 
+
 @node Basic Usage
 @subsection Basic Usage
 
 @node Basic Usage
 @subsection Basic Usage
 
@@ -21083,6 +21133,7 @@ to @code{gnus-group-make-nnir-group}. If you are searching multiple
 groups with different search engines you will be prompted for the
 special search features for each engine separately. 
 
 groups with different search engines you will be prompted for the
 special search features for each engine separately. 
 
+
 @node Setting up nnir
 @subsection Setting up nnir
 
 @node Setting up nnir
 @subsection Setting up nnir
 
@@ -21120,10 +21171,10 @@ name. For example to use the @code{namazu} engine to search the server
 named @code{home} you can use
 
 @lisp
 named @code{home} you can use
 
 @lisp
-(setq gnus-secondary-select-methods '(
-      (nnml "home" 
-            (nnimap-address "localhost")
-            (nnir-search-engine namazu))))
+(setq gnus-secondary-select-methods
+      '((nnml "home" 
+         (nnimap-address "localhost")
+         (nnir-search-engine namazu))))
 @end lisp
 
 Alternatively you might want to use a particular engine for all servers
 @end lisp
 
 Alternatively you might want to use a particular engine for all servers
@@ -21335,7 +21386,7 @@ this command periodically, say every four hours.
 
 @node The hyrex Engine
 @subsubsection The hyrex Engine
 
 @node The hyrex Engine
 @subsubsection The hyrex Engine
-FIXME: Add documentation.
+This engine is obsolete.
 
 @node Customizations
 @subsubsection Custimozations
 
 @node Customizations
 @subsubsection Custimozations
@@ -22772,6 +22823,81 @@ window is displayed vertically next to another window, you may also want
 to fiddle with @code{gnus-tree-minimize-window} to avoid having the
 windows resized.
 
 to fiddle with @code{gnus-tree-minimize-window} to avoid having the
 windows resized.
 
+@subsection Window Configuration Names
+
+Here's a list of most of the currently known window configurations,
+and when they're used:
+
+@itemize @code
+@item group
+The group buffer.
+
+@item summary
+Entering a group and showing only the summary.
+
+@item article
+Selecting an article.
+
+@item server
+The server buffer.
+
+@item browse
+Browsing groups from the server buffer.
+
+@item message
+Composing a (new) message.
+
+@item only-article
+Showing only the article buffer.
+
+@item edit-article
+Editing an article.
+
+@item edit-form
+Editing group parameters and the like.
+
+@item edit-score
+Editing a server definition.
+
+@item post
+Composing a news message.
+
+@item reply
+Replying or following up an article without yanking the text.
+
+@item forward
+Forwarding a message.
+
+@item reply-yank
+Replying or following up an article with yanking the text.
+
+@item mail-bound
+Bouncing a message.
+
+@item pipe
+Sending an article to an external process.
+
+@item bug
+Sending a bug report.
+
+@item score-trace
+Displaying the score trace.
+
+@item score-words
+Displaying the score words.
+
+@item split-trace
+Displaying the split trace.
+
+@item compose-bounce
+Composing a bounce message.
+
+@item mml-preview
+Previewing a @acronym{MIME} part.
+
+@end itemize
+
+
 @subsection Example Window Configurations
 
 @itemize @bullet
 @subsection Example Window Configurations
 
 @itemize @bullet
@@ -28780,7 +28906,7 @@ Gnus will work.
 @item
 Try doing an @kbd{M-x gnus-version}.  If you get something that looks
 like @c
 @item
 Try doing an @kbd{M-x gnus-version}.  If you get something that looks
 like @c
-@samp{No Gnus v0.10} @c Adjust ../Makefile.in if you change this line!
+@samp{No Gnus v0.12} @c Adjust ../Makefile.in if you change this line!
 @c
 you have the right files loaded.  Otherwise you have some old @file{.el}
 files lying around.  Delete these.
 @c
 you have the right files loaded.  Otherwise you have some old @file{.el}
 files lying around.  Delete these.