\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
@tex
@titlepage
-@title Message 5.4.49 Manual
+@title Pterodactyl Message 0.2 Manual
@author by Lars Magne Ingebrigtsen
@page
@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
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
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
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:
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,
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:}.
@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
@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
@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
@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
@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
@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
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
@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
@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
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
@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
@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
@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
@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
@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
@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.
@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
@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
@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
@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
(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
@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
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