*** empty log message ***
[gnus] / texi / gnus.texi
index 98c7488..8350be7 100644 (file)
@@ -1,5 +1,7 @@
 \input texinfo
 
+@include gnus-overrides.texi
+
 @setfilename gnus
 @settitle Gnus Manual
 @syncodeindex fn cp
@@ -45,7 +47,7 @@ developing GNU and promoting software freedom.''
 \begin{document}
 
 % Adjust ../Makefile.in if you change the following line:
-\newcommand{\gnusversionname}{No Gnus v0.11}
+\newcommand{\gnusversionname}{No Gnus v0.18}
 \newcommand{\gnuschaptername}{}
 \newcommand{\gnussectionname}{}
 
@@ -319,7 +321,7 @@ developing GNU and promoting software freedom.''
 @end iflatex
 @end iftex
 
-@dircategory Emacs
+@dircategory Emacs network features
 @direntry
 * Gnus: (gnus).                 The newsreader Gnus.
 @end direntry
@@ -329,7 +331,12 @@ developing GNU and promoting software freedom.''
 
 
 @titlepage
+@ifset WEBHACKDEVEL
+@title Gnus Manual (DEVELOPMENT VERSION)
+@end ifset
+@ifclear WEBHACKDEVEL
 @title Gnus Manual
+@end ifclear
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -351,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:
-This manual corresponds to No Gnus v0.11.
+This manual corresponds to No Gnus v0.18
 
 @ifnottex
 @insertcopying
@@ -385,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:
-This manual corresponds to No Gnus v0.11.
+This manual corresponds to No Gnus v0.18
 
 @heading Other related manuals
 @itemize
@@ -3313,6 +3320,11 @@ List all groups with cached articles (@code{gnus-group-list-cached}).
 @findex gnus-group-list-dormant
 List all groups with dormant articles (@code{gnus-group-list-dormant}).
 
+@item A !
+@kindex A ! (Group)
+@findex gnus-group-list-ticked
+List all groups with ticked articles (@code{gnus-group-list-ticked}).
+
 @item A /
 @kindex A / (Group)
 @findex gnus-group-list-limit
@@ -5556,6 +5568,13 @@ message (@code{gnus-summary-wide-reply-with-original}).  This command uses
 the process/prefix convention, but only uses the headers from the
 first article to determine the recipients.
 
+@item S L
+@kindex S L (Summary)
+@findex gnus-summary-reply-to-list-with-original
+When replying to a message from a mailing list, send a reply to that
+message to the mailing list, and include the original message
+(@code{gnus-summary-reply-to-list-with-original}).
+
 @item S v
 @kindex S v (Summary)
 @findex gnus-summary-very-wide-reply
@@ -7328,7 +7347,9 @@ predicate functions include @code{gnus-thread-sort-by-number},
 
 Each function takes two threads and returns non-@code{nil} if the first
 thread should be sorted before the other.  Note that sorting really is
-normally done by looking only at the roots of each thread.
+normally done by looking only at the roots of each thread.  Exceptions
+to this rule are @code{gnus-thread-sort-by-most-recent-number} and
+@code{gnus-thread-sort-by-most-recent-date}.
 
 If you use more than one function, the primary sort key should be the
 last function in the list.  You should probably always include
@@ -9495,16 +9516,18 @@ 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.  If you wish to switch
-that off, say:
+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.  If you want to stop the updating
-dynamically, 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)
@@ -11944,7 +11967,7 @@ A semi-readable English sentence.
 @item lapsed
 The time elapsed since the message was posted.
 
-@item combined-elapsed
+@item combined-lapsed
 Both the original date header and a (shortened) elapsed time.
 
 @item original
@@ -22047,10 +22070,11 @@ mairix.)
 @item
 If you use the Gnus registry: don't use the registry with
 @code{nnmairix} groups (put them in
-@code{gnus-registry-unfollowed-groups}).  Be @emph{extra careful} if
-you use @code{gnus-registry-split-fancy-with-parent}; mails which are
-split into @code{nnmairix} groups are usually gone for good as soon as
-you check the group for new mail (yes, it has happened to me...).
+@code{gnus-registry-unfollowed-groups}; this is the default).  Be
+@emph{extra careful} if you use
+@code{gnus-registry-split-fancy-with-parent}; mails which are split
+into @code{nnmairix} groups are usually gone for good as soon as you
+check the group for new mail (yes, it has happened to me...).
 
 @item
 Therefore: @emph{Never ever} put ``real'' mails into @code{nnmairix}
@@ -22489,7 +22513,7 @@ variables should be either strings or symbols naming functions that
 return a string.  When the mouse passes over text with this property
 set, a balloon window will appear and display the string.  Please
 refer to @ref{Tooltips, ,Tooltips, emacs, The Emacs Manual},
-(in GNU Emacs) or the doc string of @code{balloon-help-mode} (in
+(in Emacs) or the doc string of @code{balloon-help-mode} (in
 XEmacs) for more information on this.  (For technical reasons, the
 guillemets have been approximated as @samp{<<} and @samp{>>} in this
 paragraph.)
@@ -22817,6 +22841,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.
 
+@subsection Window Configuration Names
+
+Here's a list of most of the currently known window configurations,
+and when they're used:
+
+@table @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 table
+
+
 @subsection Example Window Configurations
 
 @itemize @bullet
@@ -23409,7 +23508,7 @@ specifications.
 The @code{gnus-face-properties-alist} variable affects the appearance of
 displayed Face images.  @xref{X-Face}.
 
-Viewing an @code{Face} header requires an Emacs that is able to display
+Viewing a @code{Face} header requires an Emacs that is able to display
 PNG images.
 @c Maybe add this:
 @c (if (featurep 'xemacs)
@@ -25814,21 +25913,20 @@ of all messages matching a particular set of criteria.
 @end enumerate
 
 @menu
-* Setup::
+* Gnus Registry Setup::
 * Fancy splitting to parent::
 * Registry Article Refer Method::
 * Store custom flags and keywords::
 * Store arbitrary data::
 @end menu
 
-@node Setup
-@subsection Setup
+@node Gnus Registry Setup
+@subsection Gnus Registry Setup
 
 Fortunately, setting up the Gnus registry is pretty easy:
 
 @lisp
-(setq gnus-registry-max-entries 2500
-      gnus-registry-use-long-group-names t)
+(setq gnus-registry-max-entries 2500)
 
 (gnus-registry-initialize)
 @end lisp
@@ -25850,16 +25948,16 @@ what they do before you copy them blindly).
                                 ("spam" t)
                                 ("train" t))
  gnus-registry-max-entries 500000
gnus-registry-use-long-group-names t
;; this is the default
  gnus-registry-track-extra '(sender subject))
 @end lisp
 
-They say: keep a lot of messages around, use long group names, track
-messages by sender and subject (not just parent Message-ID), and when
-the registry splits incoming mail, use a majority rule to decide where
-messages should go if there's more than one possibility.  In addition,
-the registry should ignore messages in groups that match ``nntp'',
-``nnrss'', ``spam'', or ``train.''
+They say: keep a lot of messages around, track messages by sender and
+subject (not just parent Message-ID), and when the registry splits
+incoming mail, use a majority rule to decide where messages should go
+if there's more than one possibility.  In addition, the registry
+should ignore messages in groups that match ``nntp'', ``nnrss'',
+``spam'', or ``train.''
 
 You are doubtless impressed by all this, but you ask: ``I am a Gnus
 user, I customize to live.  Give me more.''  Here you go, these are
@@ -25869,19 +25967,9 @@ the general settings.
 The groups that will not be followed by
 @code{gnus-registry-split-fancy-with-parent}.  They will still be
 remembered by the registry.  This is a list of regular expressions.
-@end defvar
-
-@defvar gnus-registry-ignored-groups
-The groups that will not be remembered by the registry.  This is a
-list of regular expressions, also available through Group/Topic
-customization (so you can ignore or keep a specific group or a whole
-topic).
-@end defvar
-
-@defvar gnus-registry-use-long-group-names
-Whether the registry will use long group names.  It's recommended to
-set this to @code{t}, although everything works if you don't.  Future
-functionality will require it.
+By default any group name that ends with ``delayed'', ``drafts'',
+``queue'', or ``INBOX'', belongs to the nnmairix backend, or contains
+the word ``archive'' is not followed.
 @end defvar
 
 @defvar gnus-registry-max-entries
@@ -25889,8 +25977,15 @@ The number (an integer or @code{nil} for unlimited) of entries the
 registry will keep.
 @end defvar
 
+@defvar gnus-registry-max-pruned-entries
+The maximum number (an integer or @code{nil} for unlimited) of entries
+the registry will keep after pruning.
+@end defvar
+
 @defvar gnus-registry-cache-file
-The file where the registry will be stored between Gnus sessions.
+The file where the registry will be stored between Gnus sessions.  By
+default the file name is @code{.gnus.registry.eioio} in the same
+directory as your @code{.newsrc.eld}.
 @end defvar
 
 @node Registry Article Refer Method
@@ -25914,8 +26009,7 @@ lines:
 ;; Keep enough entries to have a good hit rate when referring to an
 ;; article using the registry.  Use long group names so that Gnus
 ;; knows where the article is.
-(setq gnus-registry-max-entries 2500
-      gnus-registry-use-long-group-names t)
+(setq gnus-registry-max-entries 2500)
 
 (gnus-registry-initialize)
 
@@ -25961,9 +26055,8 @@ 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{nil}, but you may want to
-track @code{subject} and @code{sender} as well when splitting by parent.
-It may work for you.  It can be annoying if your mail flow is large and
+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.
 @end defvar
 
@@ -25971,7 +26064,8 @@ people don't stick to the same groups.
 This is a symbol, so it's best to change it from the Customize
 interface.  By default it's @code{nil}, but you may want to set it to
 @code{majority} or @code{first} to split by sender or subject based on
-the majority of matches or on the first found.
+the majority of matches or on the first found.  I find @code{majority}
+works best.
 @end defvar
 
 @node Store custom flags and keywords
@@ -25999,6 +26093,21 @@ Call this function to mark an article with a custom registry mark.  It
 will offer the available marks for completion.
 @end defun
 
+You can use @code{defalias} to install a summary line formatting
+function that will show the registry marks.  There are two flavors of
+this function, either showing the marks as single characters, using
+their @code{:char} property, or showing the marks as full strings.
+
+@lisp
+;; show the marks as single characters (see the :char property in
+;; `gnus-registry-marks'):
+;; (defalias 'gnus-user-format-function-M 'gnus-registry-article-marks-to-chars)
+
+;; show the marks by name (see `gnus-registry-marks'):
+;; (defalias 'gnus-user-format-function-M 'gnus-registry-article-marks-to-names)
+@end lisp
+
+
 @node Store arbitrary data
 @subsection Store arbitrary data
 
@@ -26006,17 +26115,12 @@ The registry has a simple API that uses a Message-ID as the key to
 store arbitrary data (as long as it can be converted to a list for
 storage).
 
-@defun gnus-registry-store-extra-entry (id key value)
-Store @code{value} in the extra data key @code{key} for message
-@code{id}.
-@end defun
-
-@defun gnus-registry-delete-extra-entry (id key)
-Delete the extra data key @code{key} for message @code{id}.
+@defun gnus-registry-set-id-key (id key value)
+Store @code{value} under @code{key} for message @code{id}.
 @end defun
 
-@defun gnus-registry-fetch-extra (id key)
-Get the extra data key @code{key} for message @code{id}.
+@defun gnus-registry-get-id-key (id key)
+Get the data under @code{key} for message @code{id}.
 @end defun
 
 @defvar gnus-registry-extra-entries-precious
@@ -27682,7 +27786,7 @@ to install Gnus after compiling it, give @file{make.bat} @code{/copy} as
 the second parameter.
 
 @file{make.bat} has been rewritten from scratch, it now features
-automatic recognition of XEmacs and GNU Emacs, generates
+automatic recognition of XEmacs and Emacs, generates
 @file{gnus-load.el}, checks if errors occur while compilation and
 generation of info files and reports them at the end of the build
 process.  It now uses @code{makeinfo} if it is available and falls
@@ -28825,7 +28929,7 @@ Gnus will work.
 @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.18} @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.