Importing gnus-5.6.21
[elisp/gnus.git-] / texi / gnus.texi
index 0baf04e..6677448 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Gnus 5.6.10 Manual
+@settitle Gnus 5.6.21 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -316,7 +316,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
 @tex
 
 @titlepage
-@title Gnus 5.6.10 Manual
+@title Gnus 5.6.21 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -352,7 +352,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.
 
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Gnus 5.6.10.
+This manual corresponds to Gnus 5.6.21.
 
 @end ifinfo
 
 
 @end ifinfo
 
@@ -931,6 +931,10 @@ into the directory where the @file{.newsrc} file is located.  (This is
 normally the user's home directory.)  The dribble file will get the same
 file permissions as the @code{.newsrc} file.
 
 normally the user's home directory.)  The dribble file will get the same
 file permissions as the @code{.newsrc} file.
 
+@vindex gnus-always-read-dribble-file
+If @code{gnus-always-read-dribble-file} is non-@code{nil}, Gnus will
+read the dribble file on startup without querying the user.
+
 
 @node The Active File
 @section The Active File
 
 @node The Active File
 @section The Active File
@@ -1244,7 +1248,7 @@ group, or a bogus native group.
 
 @vindex gnus-group-mode-line-format
 The mode line can be changed by setting
 
 @vindex gnus-group-mode-line-format
 The mode line can be changed by setting
-@code{gnus-group-mode-line-format} (@pxref{Formatting Variables}).  It
+@code{gnus-group-mode-line-format} (@pxref{Mode Line Formatting}).  It
 doesn't understand that many format specifiers:
 
 @table @samp
 doesn't understand that many format specifiers:
 
 @table @samp
@@ -1938,7 +1942,9 @@ methods.
 If @code{gnus-activate-foreign-newsgroups} is a positive number,
 Gnus will check all foreign groups with this level or lower at startup.
 This might take quite a while, especially if you subscribe to lots of
 If @code{gnus-activate-foreign-newsgroups} is a positive number,
 Gnus will check all foreign groups with this level or lower at startup.
 This might take quite a while, especially if you subscribe to lots of
-groups from different @sc{nntp} servers.
+groups from different @sc{nntp} servers.  Also @pxref{Group Levels};
+@code{gnus-activate-level} also affects activation of foreign
+newsgroups. 
 
 
 @node Group Parameters
 
 
 @node Group Parameters
@@ -3273,7 +3279,7 @@ Score as a number (@pxref{Scoring}).
 @vindex gnus-summary-zcore-fuzz
 Zcore, @samp{+} if above the default level and @samp{-} if below the
 default level.  If the difference between
 @vindex gnus-summary-zcore-fuzz
 Zcore, @samp{+} if above the default level and @samp{-} if below the
 default level.  If the difference between
-@code{gnus-summary-default-level} and the score is less than
+@code{gnus-summary-default-score} and the score is less than
 @code{gnus-summary-zcore-fuzz}, this spec will not be used.
 @item V
 Total thread score.
 @code{gnus-summary-zcore-fuzz}, this spec will not be used.
 @item V
 Total thread score.
@@ -3325,9 +3331,9 @@ This restriction may disappear in later versions of Gnus.
 @subsection Summary Buffer Mode Line
 
 @vindex gnus-summary-mode-line-format
 @subsection Summary Buffer Mode Line
 
 @vindex gnus-summary-mode-line-format
-You can also change the format of the summary mode bar.  Set
-@code{gnus-summary-mode-line-format} to whatever you like.  The default
-is @samp{Gnus: %%b [%A] %Z}.
+You can also change the format of the summary mode bar (@pxref{Mode Line
+Formatting}).  Set @code{gnus-summary-mode-line-format} to whatever you
+like.  The default is @samp{Gnus: %%b [%A] %Z}.
 
 Here are the elements you can play with:
 
 
 Here are the elements you can play with:
 
@@ -3338,6 +3344,8 @@ Group name.
 Unprefixed group name.
 @item A
 Current article number.
 Unprefixed group name.
 @item A
 Current article number.
+@item z
+Current article score.
 @item V
 Gnus version.
 @item U
 @item V
 Gnus version.
 @item U
@@ -6308,7 +6316,8 @@ Cleaner, perhaps.
 @kindex W l (Summary)
 @findex gnus-summary-stop-page-breaking
 Remove page breaks from the current article
 @kindex W l (Summary)
 @findex gnus-summary-stop-page-breaking
 Remove page breaks from the current article
-(@code{gnus-summary-stop-page-breaking}).
+(@code{gnus-summary-stop-page-breaking}).  @xref{Misc Article} for page
+delimiters. 
 
 @item W r
 @kindex W r (Summary)
 
 @item W r
 @kindex W r (Summary)
@@ -6987,9 +6996,9 @@ A hook called in all tree mode buffers.
 
 @item gnus-tree-mode-line-format
 @vindex gnus-tree-mode-line-format
 
 @item gnus-tree-mode-line-format
 @vindex gnus-tree-mode-line-format
-A format string for the mode bar in the tree mode buffers.  The default
-is @samp{Gnus: %%b %S %Z}.  For a list of valid specs, @pxref{Summary
-Buffer Mode Line}.
+A format string for the mode bar in the tree mode buffers (@pxref{Mode
+Line Formatting}).  The default is @samp{Gnus: %%b %S %Z}.  For a list
+of valid specs, @pxref{Summary Buffer Mode Line}.
 
 @item gnus-selected-tree-face
 @vindex gnus-selected-tree-face
 
 @item gnus-selected-tree-face
 @vindex gnus-selected-tree-face
@@ -7976,8 +7985,9 @@ Syntax table used in article buffers.  It is initialized from
 @vindex gnus-article-mode-line-format
 @item gnus-article-mode-line-format
 This variable is a format string along the same lines as
 @vindex gnus-article-mode-line-format
 @item gnus-article-mode-line-format
 This variable is a format string along the same lines as
-@code{gnus-summary-mode-line-format}.  It accepts the same
-format specifications as that variable, with one extension:
+@code{gnus-summary-mode-line-format} (@pxref{Mode Line Formatting}).  It
+accepts the same format specifications as that variable, with one
+extension:
 
 @table @samp
 @item w
 
 @table @samp
 @item w
@@ -8557,8 +8567,8 @@ The opened/closed/denied status of the server.
 
 @vindex gnus-server-mode-line-format
 The mode line can also be customized by using the
 
 @vindex gnus-server-mode-line-format
 The mode line can also be customized by using the
-@code{gnus-server-mode-line-format} variable.  The following specs are
-understood:
+@code{gnus-server-mode-line-format} variable (@pxref{Mode Line
+Formatting}).  The following specs are understood:
 
 @table @samp
 @item S
 
 @table @samp
 @item S
@@ -9029,14 +9039,18 @@ server.
 @findex nntp-open-network-stream
 @item nntp-open-connection-function
 @vindex nntp-open-connection-function
 @findex nntp-open-network-stream
 @item nntp-open-connection-function
 @vindex nntp-open-connection-function
-This function is used to connect to the remote system.  Three pre-made
-functions are @code{nntp-open-network-stream}, which is the default, and
-simply connects to some port or other on the remote system.  The other
-two are @code{nntp-open-rlogin}, which does an @samp{rlogin} on the
+This function is used to connect to the remote system.  Four pre-made
+functions are supplied:
+
+@table @code
+@item nntp-open-network-stream
+This is the default, and simply connects to some port or other on the
+remote system.
+
+@item nntp-open-rlogin
+Does an @samp{rlogin} on the
 remote system, and then does a @samp{telnet} to the @sc{nntp} server
 remote system, and then does a @samp{telnet} to the @sc{nntp} server
-available there, and @code{nntp-open-telnet}, which does a @samp{telnet}
-to the remote system and then another @samp{telnet} to get to the
-@sc{nntp} server.
+available there.
 
 @code{nntp-open-rlogin}-related variables:
 
 
 @code{nntp-open-rlogin}-related variables:
 
@@ -9057,6 +9071,10 @@ User name on the remote system.
 
 @end table
 
 
 @end table
 
+@item nntp-open-telnet
+Does a @samp{telnet} to the remote system and then another @samp{telnet}
+to get to the @sc{nntp} server.
+
 @code{nntp-open-telnet}-related variables:
 
 @table @code
 @code{nntp-open-telnet}-related variables:
 
 @table @code
@@ -9094,6 +9112,27 @@ This works for Solaris @code{telnet}, for instance.
 
 @end table
 
 
 @end table
 
+@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 SSLay installed
+(@file{ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL}, and you also need
+@file{ssl.el} (from the W3 distributeion, for instance).  You then
+define a server as follows:
+
+@lisp
+;; Type `C-c C-c' after you've finished editing.
+;;
+;; "snews" is port 563 and is predefined in our /etc/services
+;;
+(nntp "snews.bar.com"
+      (nntp-open-connection-function nntp-open-ssl-stream)
+      (nntp-port-number "snews")
+      (nntp-address "snews.bar.com"))
+@end lisp
+
+@end table
+
 @item nntp-end-of-line
 @vindex nntp-end-of-line
 String to use as end-of-line marker when talking to the @sc{nntp}
 @item nntp-end-of-line
 @vindex nntp-end-of-line
 String to use as end-of-line marker when talking to the @sc{nntp}
@@ -11019,6 +11058,33 @@ will get this @code{From} header inserted:
 To: alt-religion-emacs@@GATEWAY
 @end example
 
 To: alt-religion-emacs@@GATEWAY
 @end example
 
+The following pre-defined functions exist:
+
+@findex nngateway-simple-header-transformation
+@table @code
+
+@item nngateway-simple-header-transformation
+Creates a @code{To} header that looks like
+@var{newsgroup}@@@code{nngateway-address}.
+
+@findex nngateway-mail2news-header-transformation
+
+@item nngateway-mail2news-header-transformation
+Creates a @code{To} header that looks like
+@code{nngateway-address}.
+
+Here's an example:
+
+@lisp
+(setq gnus-post-method
+      '(nngateway "mail2news@@replay.com"
+                  (nngateway-header-transformation
+                   nngateway-mail2news-header-transformation)))
+@end lisp
+
+@end table
+
+
 @end table
 
 So, to use this, simply say something like:
 @end table
 
 So, to use this, simply say something like:
@@ -11475,7 +11541,7 @@ The number of groups in the category.
 
 @item gnus-category-mode-line-format
 @vindex gnus-category-mode-line-format
 
 @item gnus-category-mode-line-format
 @vindex gnus-category-mode-line-format
-Format of the category mode line.
+Format of the category mode line (@pxref{Mode Line Formatting}).
 
 @item gnus-agent-short-article
 @vindex gnus-agent-short-article
 
 @item gnus-agent-short-article
 @vindex gnus-agent-short-article
@@ -11821,12 +11887,6 @@ Run the current summary through the scoring process
 around with your score files behind Gnus' back and want to see the
 effect you're having.
 
 around with your score files behind Gnus' back and want to see the
 effect you're having.
 
-@item V a
-@kindex V a (Summary)
-@findex gnus-summary-score-entry
-Add a new score entry, and allow specifying all elements
-(@code{gnus-summary-score-entry}).
-
 @item V c
 @kindex V c (Summary)
 @findex gnus-score-change-score-file
 @item V c
 @kindex V c (Summary)
 @findex gnus-score-change-score-file
@@ -12297,11 +12357,31 @@ instead, if you feel like.
 
 @item Lines, Chars
 These two headers use different match types: @code{<}, @code{>},
 
 @item Lines, Chars
 These two headers use different match types: @code{<}, @code{>},
-@code{=}, @code{>=} and @code{<=}.  When matching on @code{Lines}, be
-careful because some backends (like @code{nndir}) do not generate
-@code{Lines} header, so every article ends up being marked as having 0
-lines.  This can lead to strange results if you happen to lower score of
-the articles with few lines.
+@code{=}, @code{>=} and @code{<=}.
+
+These predicates are true if
+
+@example
+(PREDICATE HEADER MATCH)
+@end example
+
+evaluates to non-@code{nil}.  For instance, the advanced match
+@code{("lines" 4 <)} (@pxref{Advanced Scoring}) will result in the
+following form:
+
+@lisp
+(< header-value 4)
+@end lisp
+
+Or to put it another way: When using @code{<} on @code{Lines} with 4 as
+the match, we get the score added if the article has less than 4 lines.
+(It's easy to get confused and think it's the other way around.  But
+it's not.  I think.)
+
+When matching on @code{Lines}, be careful because some backends (like
+@code{nndir}) do not generate @code{Lines} header, so every article ends
+up being marked as having 0 lines.  This can lead to strange results if
+you happen to lower score of the articles with few lines.
 
 @item Date
 For the Date header we have three kinda silly match types:
 
 @item Date
 For the Date header we have three kinda silly match types:
@@ -13596,7 +13676,8 @@ Interactive}.
 @section Formatting Variables
 @cindex formatting variables
 
 @section Formatting Variables
 @cindex formatting variables
 
-Throughout this manual you've probably noticed lots of variables called things like @code{gnus-group-line-format} and
+Throughout this manual you've probably noticed lots of variables called
+things like @code{gnus-group-line-format} and
 @code{gnus-summary-mode-line-format}.  These control how Gnus is to
 output lines in the various buffers.  There's quite a lot of them.
 Fortunately, they all use the same syntax, so there's not that much to
 @code{gnus-summary-mode-line-format}.  These control how Gnus is to
 output lines in the various buffers.  There's quite a lot of them.
 Fortunately, they all use the same syntax, so there's not that much to
@@ -13608,6 +13689,7 @@ lots of percentages everywhere.
 
 @menu
 * Formatting Basics::     A formatting variable is basically a format string.
 
 @menu
 * Formatting Basics::     A formatting variable is basically a format string.
+* Mode Line Formatting::  Some rules about mode line formatting variables.
 * Advanced Formatting::   Modifying output in various ways.
 * User-Defined Specs::    Having Gnus call your own functions.
 * Formatting Fonts::      Making the formatting look colorful and nice.
 * Advanced Formatting::   Modifying output in various ways.
 * User-Defined Specs::    Having Gnus call your own functions.
 * Formatting Fonts::      Making the formatting look colorful and nice.
@@ -13654,6 +13736,31 @@ means that the field will never be more than 6 characters wide and never
 less than 4 characters wide.
 
 
 less than 4 characters wide.
 
 
+@node Mode Line Formatting
+@subsection Mode Line Formatting
+
+Mode line formatting variables (e.g.,
+@code{gnus-summary-mode-line-format}) follow the same rules as other,
+buffer line oriented formatting variables (@pxref{Formatting Basics})
+with the following two differences:
+
+@enumerate
+
+@item
+There must be no newline (@samp{\n}) at the end.
+
+@item
+The special @samp{%%b} spec can be used to display the buffer name.
+Well, it's no spec at all, really---@samp{%%} is just a way to quote
+@samp{%} to allow it to pass through the formatting machinery unmangled,
+so that Emacs receives @samp{%b}, which is something the Emacs mode line
+display interprets to mean ``show the buffer name''.  For a full list of
+mode line specs Emacs understands, see the documentation of the
+@code{mode-line-format} variable.
+
+@end enumerate
+
+
 @node Advanced Formatting
 @subsection Advanced Formatting
 
 @node Advanced Formatting
 @subsection Advanced Formatting
 
@@ -15371,6 +15478,12 @@ Overall, a casual user who hasn't written much code that depends on
 @sc{gnus} internals should suffer no problems.  If problems occur,
 please let me know by issuing that magic command @kbd{M-x gnus-bug}.
 
 @sc{gnus} internals should suffer no problems.  If problems occur,
 please let me know by issuing that magic command @kbd{M-x gnus-bug}.
 
+@vindex gnus-bug-create-help-buffer
+If you are in the habit of sending bug reports @emph{very} often, you
+may find the helpful help buffer annoying after a while.  If so, set
+@code{gnus-bug-create-help-buffer} to @code{nil} to avoid having it pop
+up at you.
+
 
 @node Conformity
 @subsection Conformity
 
 @node Conformity
 @subsection Conformity
@@ -15553,10 +15666,12 @@ Also thanks to the following for patches and stuff:
 
 Jari Aalto,
 Adrian Aichner,
 
 Jari Aalto,
 Adrian Aichner,
+Vladimir Alexiev,
 Russ Allbery,
 Peter Arius,
 Matt Armstrong,
 Marc Auslander,
 Russ Allbery,
 Peter Arius,
 Matt Armstrong,
 Marc Auslander,
+Frank Bennett,
 Robert Bihlmeyer,
 Chris Bone,
 Mark Borges,
 Robert Bihlmeyer,
 Chris Bone,
 Mark Borges,
@@ -15564,12 +15679,15 @@ Mark Boyns,
 Lance A. Brown,
 Kees de Bruin,
 Martin Buchholz,
 Lance A. Brown,
 Kees de Bruin,
 Martin Buchholz,
+Joe Buehler,
 Kevin Buhr,
 Alastair Burt,
 Joao Cachopo,
 Zlatko Calusic,
 Massimo Campostrini,
 Kevin Buhr,
 Alastair Burt,
 Joao Cachopo,
 Zlatko Calusic,
 Massimo Campostrini,
+Castor,
 Dan Christensen,
 Dan Christensen,
+Kevin Christian,
 Michael R. Cook,
 Glenn Coombs,
 Frank D. Cringle,
 Michael R. Cook,
 Glenn Coombs,
 Frank D. Cringle,
@@ -15588,6 +15706,7 @@ Luc Van Eycken,
 Sam Falkner,
 Nelson Jose dos Santos Ferreira,
 Sigbjorn Finne,
 Sam Falkner,
 Nelson Jose dos Santos Ferreira,
 Sigbjorn Finne,
+Decklin Foster,
 Gary D. Foster,
 Paul Franklin,
 Guy Geens,
 Gary D. Foster,
 Paul Franklin,
 Guy Geens,
@@ -15598,6 +15717,8 @@ D. Hall,
 Magnus Hammerin,
 Kenichi Handa, @c Handa
 Raja R. Harinath,
 Magnus Hammerin,
 Kenichi Handa, @c Handa
 Raja R. Harinath,
+Yoshiki Hayashi, @c ?
+P. E. Jareth Hein,
 Hisashige Kenji, @c Hisashige
 Marc Horowitz,
 Gunnar Horrigmo,
 Hisashige Kenji, @c Hisashige
 Marc Horowitz,
 Gunnar Horrigmo,
@@ -15624,12 +15745,13 @@ James LewisMoss,
 Christian Limpach,
 Markus Linnala,
 Dave Love,
 Christian Limpach,
 Markus Linnala,
 Dave Love,
+Mike McEwan,
 Tonny Madsen,
 Shlomo Mahlab,
 Nat Makarevitch,
 Istvan Marko,
 David Martin,
 Tonny Madsen,
 Shlomo Mahlab,
 Nat Makarevitch,
 Istvan Marko,
 David Martin,
-Jason R Mastaler,
+Jason R. Mastaler,
 Gordon Matzigkeit,
 Timo Metzemakers,
 Richard Mlynarik,
 Gordon Matzigkeit,
 Timo Metzemakers,
 Richard Mlynarik,
@@ -15649,6 +15771,8 @@ Stephen Peters,
 Jens-Ulrik Holger Petersen,
 Ulrich Pfeifer,
 John McClary Prevost,
 Jens-Ulrik Holger Petersen,
 Ulrich Pfeifer,
 John McClary Prevost,
+Mike Pullen,
+Jim Radford,
 Colin Rafferty,
 Lasse Rasinen,
 Lars Balker Rasmussen,
 Colin Rafferty,
 Lasse Rasinen,
 Lars Balker Rasmussen,
@@ -15658,12 +15782,14 @@ Roland B. Roberts,
 Bart Robinson,
 Christian von Roques,
 Jason Rumney,
 Bart Robinson,
 Christian von Roques,
 Jason Rumney,
+Wolfgang Rupprecht,
 Jay Sachs,
 Dewey M. Sasser,
 Loren Schall,
 Dan Schmidt,
 Ralph Schleicher,
 Philippe Schnoebelen,
 Jay Sachs,
 Dewey M. Sasser,
 Loren Schall,
 Dan Schmidt,
 Ralph Schleicher,
 Philippe Schnoebelen,
+Andreas Schwab,
 Randal L. Schwartz,
 Justin Sheehy,
 Danny Siu,
 Randal L. Schwartz,
 Justin Sheehy,
 Danny Siu,
@@ -15675,6 +15801,7 @@ Michael Sperber,
 Darren Stalder,
 Richard Stallman,
 Greg Stark,
 Darren Stalder,
 Richard Stallman,
 Greg Stark,
+Sam Steingold,
 Paul Stodghill,
 Kurt Swanson,
 Samuel Tardieu,
 Paul Stodghill,
 Kurt Swanson,
 Samuel Tardieu,
@@ -15714,7 +15841,7 @@ actually are people who are using Gnus.  Who'd'a thunk it!
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
-* Quassia Gnus::       Two times two is four, or Gnus 5.6.10.
+* Quassia Gnus::       Two times two is four, or Gnus 5.6.21.
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
@@ -16249,7 +16376,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.10:
+New features in Gnus 5.6.21:
 
 @itemize @bullet
 
 
 @itemize @bullet
 
@@ -17545,6 +17672,15 @@ New spec: %~(tab 56) to put point on column 56
 Allow Gnus Agent scoring to use normal score files.
 
 @item
 Allow Gnus Agent scoring to use normal score files.
 
 @item
+Rething the Agent active file thing.  `M-g' doesn't update the active
+file, for instance.
+
+@item
+With dummy roots, `^' and then selecing the first article
+in any other dummy thread will make Gnus highlight the
+dummy root instead of the first article.
+
+@item
 Solve the halting problem.
 
 @c TODO
 Solve the halting problem.
 
 @c TODO