\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Message Manual
+@settitle Message 0.15 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@ifinfo
-This file documents Messa, the Emacs message composition mode.
+This file documents Message, the Emacs message composition mode.
Copyright (C) 1996 Free Software Foundation, Inc.
@tex
@titlepage
-@title Message Manual
+@title Message 0.15 Manual
@author by Lars Magne Ingebrigtsen
@page
* Interface:: Setting up message buffers.
* Commands:: Commands you can execute in message mode buffers.
* Variables:: Customizing the message buffers.
+* Compatibility:: Making Message backwards compatible.
* Index:: Variable, function and concept index.
* Key Index:: List of Message mode keys.
@end menu
+This manual corresponds to Message 0.15. Message is distributed with
+the Gnus distribution bearing the same version number as this manual
+has.
+
@node Interface
@chapter Interface
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-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
@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-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
@cindex mail aliases
@cindex aliases
-Message uses @code{mailabbrev} to handle mail aliases.
+@vindex message-mail-alias-type
+The @code{message-mail-alias-type} variable controls what type of mail
+alias expansion to use. Currently only one form is supported---Message
+uses @code{mailabbrev} to handle mail aliases. If this variable is
+@code{nil}, no mail alias expansion will be performed.
+
@code{mailabbrev} works by parsing the @file{/etc/mailrc} and
@file{~/.mailrc} files. These files look like:
@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
@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-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
@lisp
(defun my-message-header-setup-hook ()
- (when (or (message-fetch-field "newsgroups")
- (gnus-group-find-parameter
- gnus-newsgroup-namegroup 'to-address)
- (gnus-group-find-parameter
- gnus-newsgroup-namegroup 'to-list))
- (insert "Mail-Copies-To: never\n")))
-
-(add-hook 'message-header-setup-hook 'my-message-header-setup-hook)
+ (let ((group (or gnus-newsgroup-name "")))
+ (when (or (message-fetch-field "newsgroups")
+ (gnus-group-find-parameter group 'to-address)
+ (gnus-group-find-parameter group 'to-list))
+ (insert "Mail-Copies-To: never\n"))))
+
+(add-hook 'message-header-setup-hook
+ 'my-message-header-setup-hook)
@end lisp
@item message-send-hook
@vindex message-send-hook
Hook run before sending messages.
+If you want to add certain headers before sending, you can use the
+@code{message-add-header} function in this hook. For instance:
+@findex message-add-header
+
+@lisp
+(add-hook 'message-send-hook 'my-message-add-content)
+(defun my-message-add-content ()
+ (message-add-header
+ "Mime-Version: 1.0"
+ "Content-Type: text/plain"
+ "Content-Transfer-Encoding: 7bit"))
+@end lisp
+
+This function won't add the header if the header is already present.
+
@item message-send-mail-hook
@vindex message-send-mail-hook
Hook run before sending mail messages.
@vindex message-mode-syntax-table
Syntax table used in message mode buffers.
+@item message-send-method-alist
+@vindex message-send-method-alist
+
+Alist of ways to send outgoing messages. Each element has the form
+
+@lisp
+(TYPE PREDICATE FUNCTION)
+@end lisp
+
+@table @var
+@item type
+A symbol that names the method.
+
+@item predicate
+A function called without any parameters to determine whether the
+message is a message of type @var{type}.
+
+@item function
+A function to be called if @var{predicate} returns non-@code{nil}.
+@var{function} is called with one parameter -- the prefix.
+@end table
+
+@lisp
+((news message-news-p message-send-via-news)
+ (mail message-mail-p message-send-via-mail))
+@end lisp
+
+
+
@end table
@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
@code{car} is a function and the @code{cdr} is the list of arguments, or
a form to be @code{eval}ed.
+
+@node Compatibility
+@chapter Compatibility
+@cindex compatibility
+
+Message uses virtually only its own variables---older @code{mail-}
+variables aren't consulted. To force Message to take those variables
+into account, you can put the following in your @code{.emacs} file:
+
+@lisp
+(require 'messcompat)
+@end lisp
+
+This will initialize many Message variables from the values in the
+corresponding mail variables.
+
+
+
@node Index
@chapter Index
@printindex cp