*** empty log message ***
[gnus] / texi / message.texi
index 40fb00f..5d6e87b 100644 (file)
@@ -1,10 +1,13 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.4.49 Manual
+@settitle Pterodactyl Message 0.2 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
+@c @direntry
+@c * Message: (message).   Mail and news composition mode that goes with Gnus.
+@c @end direntry
 @iftex
 @finalout
 @end iftex
@@ -39,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Message 5.4.49 Manual
+@title Pterodactyl Message 0.2 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -67,21 +70,22 @@ into another language, under the above conditions for modified versions.
 @node Top
 @top Message
 
-All message composition (both mail and news) takes place in Message mode
-buffers.
+All message composition from Gnus (both mail and news) takes place in
+Message mode buffers.
 
 @menu
 * Interface::         Setting up message buffers.
 * Commands::          Commands you can execute in message mode buffers.
 * Variables::         Customizing the message buffers.
 * Compatibility::     Making Message backwards compatible.
+* Appendices::        More technical things.
 * Index::             Variable, function and concept index.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.4.49.  Message is distributed with
-the Gnus distribution bearing the same version number as this manual
-has. 
+This manual corresponds to Pterodactyl Message 0.2.  Message is
+distributed with the Gnus distribution bearing the same version number
+as this manual has.
 
 
 @node Interface
@@ -116,7 +120,7 @@ The @code{message-mail} command pops up a new message buffer.
 
 Two optional parameters are accepted: The first will be used as the
 @code{To} header and the second as the @code{Subject} header.  If these
-aren't present, those two headers will be empty.
+are @code{nil}, those two headers will be empty.
 
 
 @node New News Message
@@ -127,7 +131,7 @@ The @code{message-news} command pops up a new message buffer.
 
 This function accepts two optional parameters.  The first will be used
 as the @code{Newsgroups} header and the second as the @code{Subject}
-header.  If these aren't present, those two headers will be empty.
+header.  If these are @code{nil}, those two headers will be empty.
 
 
 @node Reply
@@ -138,9 +142,9 @@ The @code{message-reply} function pops up a message buffer that's a
 reply to the message in the current buffer.
 
 @vindex message-reply-to-function
-Message uses the normal methods to determine where replies are to go,
-but you can change the behavior to suit your needs by fiddling with the
-@code{message-reply-to-function} variable.
+Message uses the normal methods to determine where replies are to go
+(@pxref{Responses}), but you can change the behavior to suit your needs
+by fiddling with the @code{message-reply-to-function} variable.
 
 If you want the replies to go to the @code{Sender} instead of the
 @code{From}, you could do something like this:
@@ -176,7 +180,7 @@ the head of the outgoing mail.
 The @code{message-wide-reply} pops up a message buffer that's a wide
 reply to the message in the current buffer.  A @dfn{wide reply} is a
 reply that goes out to all people listed in the @code{To}, @code{From}
-and @code{Cc} headers.
+(or @code{Reply-to}) and @code{Cc} headers.
 
 @vindex message-wide-reply-to-function
 Message uses the normal methods to determine where wide replies are to go,
@@ -229,7 +233,7 @@ supersede the message in the current buffer.
 Headers matching the @code{message-ignored-supersedes-headers} are
 removed before popping up the new message buffer.  The default is@*
 @samp{^Path:\\|^Date\\|^NNTP-Posting-Host:\\|^Xref:\\|^Lines:\\|@*
-^Received:\\|^X-From-Line:\\|Return-Path:}.
+^Received:\\|^X-From-Line:\\|Return-Path:\\|^Supersedes:}.
 
 
 
@@ -263,6 +267,31 @@ forwarded message will be inserted first in the new mail.
 @vindex message-included-forward-headers
 Regexp matching header lines to be included in forwarded messages.  
 
+@item message-make-forward-subject-function
+@vindex message-make-forward-subject-function
+A list of functions that are called to generate a subject header for
+forwarded messages.  The subject generated by the previous function is
+passed into each successive function.
+
+The provided functions are:
+
+@table @code
+@item message-forward-subject-author-subject
+@findex message-forward-subject-author-subject
+Source of article (author or newsgroup), in brackets followed by the
+subject.
+
+@item message-forward-subject-fwd
+Subject of article with @samp{Fwd:} prepended to it.
+@end table
+
+@item message-wash-forwarded-subjects
+@vindex message-wash-forwarded-subjects
+If this variable is @code{t}, the subjects of forwarded messages have
+the evidence of previous forwards (such as @samp{Fwd:}, @samp{Re:}, 
+@samp{(fwd)}) removed before the new subject is
+constructed.  The default value is @code{nil}.
+
 @end table
 
 
@@ -292,7 +321,7 @@ undeliverable.
 @vindex message-ignored-bounced-headers
 Headers that match the @code{message-ignored-bounced-headers} regexp
 will be removed before popping up the buffer.  The default is
-@samp{^Received:}. 
+@samp{^\\(Received\\|Return-Path\\):}.
 
 
 @node Commands
@@ -411,7 +440,12 @@ Yank the message that's being replied to into the message buffer
 @item C-c C-q
 @kindex C-c C-q 
 @findex message-fill-yanked-message
-Fill the yanked message (@code{message-fill-yanked-message}). 
+Fill the yanked message (@code{message-fill-yanked-message}).  Warning:
+Can severely mess up the yanked text if its quoting conventions are
+strange.  You'll quickly get a feel for when it's safe, though.  Anyway,
+just remember that @kbd{C-x u} (@code{undo}) is available and you'll be
+all right.
+
 
 @item C-c C-w
 @kindex C-c C-w 
@@ -431,7 +465,15 @@ removed.
 @item message-citation-line-function
 @vindex message-citation-line-function
 Function called to insert the citation line.  The default is
-@code{message-insert-citation-line}. 
+@code{message-insert-citation-line}, which will lead to citation lines
+that look like:
+
+@example
+Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes:
+@end example
+
+Point will be at the beginning of the body of the message when this
+function is called.
 
 @item message-yank-prefix
 @vindex message-yank-prefix
@@ -451,10 +493,14 @@ Number of spaces to indent yanked messages.
 @vindex message-cite-function
 @findex message-cite-original
 @findex sc-cite-original
+@findex message-cite-original-without-signature
 @cindex Supercite
 Function for citing an original message.  The default is
-@code{message-cite-original}.  You can also set it to
-@code{sc-cite-original} to use Supercite.
+@code{message-cite-original}, which simply inserts the original message
+and prepends @samp{> } to each line.
+@code{message-cite-original-without-signature} does the same, but elides
+the signature.  You can also set it to @code{sc-cite-original} to use
+Supercite.
 
 @item message-indent-citation-function
 @vindex message-indent-citation-function
@@ -478,7 +524,7 @@ The default is @samp{~/.signature}.
 
 @end table
 
-Note that RFC1036 says that a signature should be preceded by the three
+Note that RFC1036bis says that a signature should be preceded by the three
 characters @samp{-- } on a line by themselves.  This is to make it
 easier for the recipient to automatically recognize and process the
 signature.  So don't remove those characters, even though you might feel
@@ -510,6 +556,41 @@ Elide the text between point and mark (@code{message-elide-region}).
 The text is killed and an ellipsis (@samp{[...]}) will be inserted in
 its place.
 
+@item C-c C-z
+@kindex C-c C-x
+@findex message-kill-to-signature
+Kill all the text up to the signature, or if that's missing, up to the
+end of the message (@code{message-kill-to-signature}).
+
+@item C-c C-v
+@kindex C-c C-v
+@findex message-delete-not-region
+Delete all text in the body of the message that is outside the region
+(@code{message-delete-not-region}).
+
+@item M-RET
+@kindex M-RET
+@kindex message-newline-and-reformat
+Insert four newlines, and then reformat if inside quoted text.
+
+Here's an example:
+
+@example
+> This is some quoted text.  And here's more quoted text.
+@end example
+
+If point is before @samp{And} and you press @kbd{M-RET}, you'll get:
+
+@example
+> This is some quoted text.
+
+*
+
+> And here's more quoted text.
+@end example
+
+@samp{*} says where point will be placed.  
+
 @item C-c C-t
 @kindex C-c C-t 
 @findex message-insert-to
@@ -609,10 +690,11 @@ expansions have to be done explicitly.
 @node Message Headers
 @section Message Headers
 
-Message is quite aggressive on the message generation front.  It has
-to be -- it's a combined news and mail agent.  To be able to send
-combined messages, it has to generate all headers itself to ensure that
-mail and news copies of messages look sufficiently similar.
+Message is quite aggressive on the message generation front.  It has to
+be -- it's a combined news and mail agent.  To be able to send combined
+messages, it has to generate all headers itself (instead of letting the
+mail/news system do it) to ensure that mail and news copies of messages
+look sufficiently similar.
 
 @table @code
 
@@ -623,7 +705,7 @@ message.
 
 @item message-from-style
 @vindex message-from-style
-Specifies how @code{From} headers should look.  There are four legal
+Specifies how @code{From} headers should look.  There are four valid
 values:
 
 @table @code
@@ -660,6 +742,18 @@ Allegedly.
 This string is inserted at the end of the headers in all message
 buffers.
 
+@item message-subject-re-regexp
+@vindex message-subject-re-regexp
+Responses to messages have subjects that start with @samp{Re: }.  This
+is @emph{not} an abbreviation of the English word ``response'', but in
+Latin, and means ``in response to''.  Some illiterate nincompoops have
+failed to grasp this fact, and have ``internationalized'' their software
+to use abonimations like @samp{Aw: } (``antwort'') or @samp{Sv: }
+(``svar'') instead, which is meaningless and evil.  However, you may
+have to deal with users that use these evil tools, in which case you may
+set this variable to a regexp that matches these prefixes.  Myself, I
+just throw away non-compliant mail.
+
 @end table
 
 
@@ -676,7 +770,7 @@ buffers.
 @item message-ignored-mail-headers
 @vindex message-ignored-mail-headers
 Regexp of headers to be removed before mailing.  The default is
-@samp{^Gcc:\\|^Fcc:}. 
+@samp{^[GF]cc:\\|^Resent-Fcc:}.
 
 @item message-default-mail-headers
 @vindex message-default-mail-headers
@@ -700,8 +794,9 @@ instead, set this variable to @code{message-send-mail-with-mh}.
 @vindex message-mh-deletable-headers
 Most versions of MH doesn't like being fed messages that contain the
 headers in this variable.  If this variable is non-@code{nil} (which is
-the default), these headers will be removed before mailing.  Set it to
-@code{nil} if your MH can handle these headers.
+the default), these headers will be removed before mailing when sending
+messages via MH.  Set it to @code{nil} if your MH can handle these
+headers.
 
 @end table
 
@@ -712,7 +807,7 @@ the default), these headers will be removed before mailing.  Set it to
 @vindex message-required-news-headers
 @code{message-required-news-headers} a list of header symbols.  These
 headers will either be automatically generated, or, if that's
-impossible, they will be prompted for.  The following symbols are legal:
+impossible, they will be prompted for.  The following symbols are valid:
 
 @table @code
 
@@ -818,10 +913,16 @@ Other variables for customizing outgoing news articles:
 
 @item message-syntax-checks
 @vindex message-syntax-checks
-If non-@code{nil}, Message will attempt to check the legality of the
-headers, as well as some other stuff, before posting.  You can control
-the granularity of the check by adding or removing elements from this
-list.  Legal elements are:
+Controls what syntax checks should not be performed on outgoing posts.
+To disable checking of long signatures, for instance, add
+
+@lisp
+(signature . disabled)
+@end lisp
+
+to this list.
+
+Valid checks are:
 
 @table @code
 @item subject-cmsg 
@@ -842,7 +943,7 @@ Check whether the @code{From} header seems nice.
 @cindex long lines
 Check for too long lines.
 @item control-chars
-Check for illegal characters.
+Check for invalid characters.
 @item size
 Check for excessive size.
 @item new-text
@@ -863,6 +964,9 @@ Check whether the newsgroups mentioned in the @code{Newsgroups} and
 @item valid-newsgroups
 Check whether the @code{Newsgroups} and @code{Followup-to} headers
 are valid syntactically.
+@item repeated-newsgroups
+Check whether the @code{Newsgroups} and @code{Followup-to} headers
+contains repeated group names.
 @item shorten-followup-to
 Check whether to add a @code{Followup-to} header to shorten the number
 of groups to post to.
@@ -873,7 +977,7 @@ All these conditions are checked by default.
 @item message-ignored-news-headers
 @vindex message-ignored-news-headers
 Regexp of headers to be removed before posting.  The default is@*
-@samp{^NNTP-Posting-Host:\\|^Xref:\\|^Bcc:\\|^Gcc:\\|^Fcc:}.
+@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:}.
 
 @item message-default-news-headers
 @vindex message-default-news-headers
@@ -894,7 +998,8 @@ Function used to send the current buffer as news.  The default is
 
 @item message-post-method
 @vindex message-post-method
-Method used for posting a prepared news message.
+Gnusish @dfn{select method} (see the Gnus manual for details) used for
+posting a prepared news message.
 
 @end table
 
@@ -917,10 +1022,6 @@ follows this line--} by default.
 @vindex message-directory
 Directory used by many mailey things.  The default is @file{~/Mail/}. 
 
-@item message-autosave-directory
-@vindex message-autosave-directory
-Directory where message buffers will be autosaved to.
-
 @item message-signature-setup-hook
 @vindex message-signature-setup-hook
 Hook run when initializing the message buffer.  It is run after the
@@ -928,7 +1029,8 @@ headers have been inserted but before the signature has been inserted.
 
 @item message-setup-hook
 @vindex message-setup-hook
-Hook run as the last thing when the message buffer has been initialized.
+Hook run as the last thing when the message buffer has been initialized,
+but before yanked text is inserted.
 
 @item message-header-setup-hook
 @vindex message-header-setup-hook
@@ -946,7 +1048,8 @@ you send to mailing lists, you could do something like the following:
               (gnus-group-find-parameter group 'to-list))
       (insert "Mail-Copies-To: never\n"))))
 
-(add-hook 'message-header-setup-hook 'my-message-header-setup-hook)
+(add-hook 'message-header-setup-hook
+          'my-message-header-setup-hook)
 @end lisp
 
 @item message-send-hook
@@ -1026,7 +1129,7 @@ A function to be called if @var{predicate} returns non-@code{nil}.
 @vindex message-fcc-handler-function 
 A function called to save outgoing articles.  This function will be
 called with the name of the file to store the article in. The default
-function is @code{rmail-output} which saves in Unix mailbox format.
+function is @code{message-output} which saves in Unix mailbox format.
 
 @item message-courtesy-message
 @vindex message-courtesy-message
@@ -1138,6 +1241,74 @@ This will initialize many Message variables from the values in the
 corresponding mail variables.
 
 
+@node Appendices
+@chapter Appendices
+
+@menu
+* Responses::          Standard rules for determining where responses go.
+@end menu
+
+
+@node Responses
+@section Responses
+
+To determine where a message is to go, the following algorithm is used
+by default.
+
+@table @dfn
+@item reply
+A @dfn{reply} is when you want to respond @emph{just} to the person who
+sent the message via mail.  There will only be one recipient.  To
+determine who the recipient will be, the following headers are
+consulted, in turn:
+
+@table @code
+@item Reply-To
+
+@item From
+@end table
+
+
+@item wide reply
+A @dfn{wide reply} is a mail response that includes @emph{all} entities
+mentioned in the message you are responded to.  All mailboxes from the
+following headers will be concatenated to form the outgoing
+@code{To}/@code{Cc} headers:
+
+@table @code
+@item From
+(unless there's a @code{Reply-To}, in which case that is used instead).
+
+@item Cc
+
+@item To
+@end table
+
+If a @code{Mail-Copies-To} header is present, it will also be included
+in the list of mailboxes.  If this header is @samp{never}, that means
+that the @code{From} (or @code{Reply-To}) mailbox will be suppressed.
+
+
+@item followup
+A @dfn{followup} is a response sent via news.  The following headers
+(listed in order of precedence) determine where the response is to be
+sent:
+
+@table @code
+
+@item Followup-To
+
+@item Newsgroups
+
+@end table
+
+If a @code{Mail-Copies-To} header is present, it will be used as the
+basis of the new @code{Cc} header, except if this header is
+@samp{never}.
+
+@end table
+
+
 
 @node Index
 @chapter Index