This commit was generated by cvs2svn to compensate for changes in r5042,
[elisp/gnus.git-] / texi / message.texi
index 5a05ddd..1518738 100644 (file)
@@ -1,71 +1,67 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message (Oort) Manual
+@settitle Message 5.6.45 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
-@dircategory Emacs
-@direntry
-* Message: (message).   Mail and news composition mode that goes with Gnus.
-@end direntry
+@c @direntry
+@c * Message: (message).   Mail and news composition mode that goes with Gnus.
+@c @end direntry
 @iftex
 @finalout
 @end iftex
 @setchapternewpage odd
 
-@ifnottex
+@ifinfo
 
 This file documents Message, the Emacs message composition mode.
 
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+Copyright (C) 1996 Free Software Foundation, Inc.
 
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
 
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software.  Copies published by the Free
-Software Foundation raise funds for GNU development.''
+@ignore
+Permission is granted to process this file through Tex and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
 
-This document is part of a collection distributed under the GNU Free
-Documentation License.  If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
-@end ifnottex
+@end ignore
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+@end ifinfo
 
 @tex
 
 @titlepage
-@title Message (Oort) Manual
+@title Message 5.6.45 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1996, 1997, 1998, 1999, 2000 
-     Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being none, with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below.  A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software.  Copies published by the Free
-Software Foundation raise funds for GNU development.''
-
-This document is part of a collection distributed under the GNU Free
-Documentation License.  If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
+Copyright @copyright{} 1996 Free Software Foundation, Inc. 
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions.
+
 @end titlepage
 @page
 
@@ -87,8 +83,9 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Oort Message.   Message is distributed with
-the Gnus distribution bearing the same version number as this manual.
+This manual corresponds to Message 5.6.45.  Message is distributed with
+the Gnus distribution bearing the same version number as this manual
+has. 
 
 
 @node Interface
@@ -119,7 +116,7 @@ sending it.
 @section New Mail Message
 
 @findex message-mail
-The @code{message-mail} command pops up a new message buffer.
+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
@@ -130,7 +127,7 @@ are @code{nil}, those two headers will be empty.
 @section New News Message
 
 @findex message-news
-The @code{message-news} command pops up a new message buffer.
+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}
@@ -156,8 +153,8 @@ If you want the replies to go to the @code{Sender} instead of the
 (setq message-reply-to-function
       (lambda ()
        (cond ((equal (mail-fetch-field "from") "somebody")
-               (list (cons 'To (mail-fetch-field "sender"))))
-             (t
+               (mail-fetch-field "sender"))     
+             (t 
               nil))))
 @end lisp
 
@@ -173,7 +170,7 @@ This function can also return a list.  In that case, each list element
 should be a cons, where the car should be the name of an header
 (eg. @code{Cc}) and the cdr should be the header value
 (eg. @samp{larsi@@ifi.uio.no}).  All these headers will be inserted into
-the head of the outgoing mail.
+the head of the outgoing mail. 
 
 
 @node Wide Reply
@@ -189,10 +186,10 @@ reply that goes out to all people listed in the @code{To}, @code{From}
 Message uses the normal methods to determine where wide replies are to go,
 but you can change the behavior to suit your needs by fiddling with the
 @code{message-wide-reply-to-function}.  It is used in the same way as
-@code{message-reply-to-function} (@pxref{Reply}).
+@code{message-reply-to-function} (@pxref{Reply}). 
 
-@findex message-dont-reply-to-names
-Addresses that match the @code{message-dont-reply-to-names} regular
+@findex rmail-dont-reply-to-names
+Addresses that match the @code{rmail-dont-reply-to-names} regular
 expression will be removed from the @code{Cc} header.
 
 
@@ -249,9 +246,26 @@ the message in the current buffer.  If given a prefix, forward using
 news.
 
 @table @code
-@item message-forward-ignored-headers
-@vindex message-forward-ignored-headers
-All headers that match this regexp will be deleted when forwarding a message.
+@item message-forward-start-separator
+@vindex message-forward-start-separator
+Delimiter inserted before forwarded messages.  The default is@*
+@samp{------- Start of forwarded message -------\n}. 
+
+@vindex message-forward-end-separator
+@item message-forward-end-separator
+@vindex message-forward-end-separator
+Delimiter inserted after forwarded messages.  The default is@*
+@samp{------- End of forwarded message -------\n}. 
+
+@item message-signature-before-forwarded-message
+@vindex message-signature-before-forwarded-message
+If this variable is @code{t}, which it is by default, your personal
+signature will be inserted before the forwarded message.  If not, the
+forwarded message will be inserted first in the new mail.
+
+@item message-included-forward-headers
+@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
@@ -274,16 +288,10 @@ Subject of article with @samp{Fwd:} prepended to it.
 @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:},
+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}.
 
-@item message-forward-as-mime
-@vindex message-forward-as-mime
-If this variable is @code{t} (the default), forwarded messages are
-included as inline MIME RFC822 parts.  If it's @code{nil}, forwarded
-messages will just be copied inline to the new message, like previous,
-non MIME-savvy versions of gnus would do.
 @end table
 
 
@@ -297,7 +305,7 @@ and resend the message in the current buffer to that address.
 @vindex message-ignored-resent-headers
 Headers that match the @code{message-ignored-resent-headers} regexp will
 be removed before sending the message.  The default is
-@samp{^Return-receipt}.
+@samp{^Return-receipt}. 
 
 
 @node Bouncing
@@ -308,7 +316,7 @@ The @code{message-bounce} command will, if the current buffer contains a
 bounced mail message, pop up a message buffer stripped of the bounce
 information.  A @dfn{bounced message} is typically a mail you've sent
 out that has been returned by some @code{mailer-daemon} as
-undeliverable.
+undeliverable. 
 
 @vindex message-ignored-bounced-headers
 Headers that match the @code{message-ignored-bounced-headers} regexp
@@ -320,34 +328,15 @@ will be removed before popping up the buffer.  The default is
 @chapter Commands
 
 @menu
-* Buffer Entry::        Commands after entering a Message buffer.
 * Header Commands::     Commands for moving to headers.
 * Movement::            Moving around in message buffers.
 * Insertion::           Inserting things into message buffers.
-* MIME::                @sc{mime} considerations.
-* Security::            Signing and encrypting messages.
 * Various Commands::    Various things.
 * Sending::             Actually sending the message.
 * Mail Aliases::        How to use mail aliases.
-* Spelling::            Having Emacs check your spelling.
 @end menu
 
 
-@node Buffer Entry
-@section Buffer Entry
-@cindex undo
-@kindex C-_
-
-You most often end up in a Message buffer when responding to some other
-message of some sort.  Message does lots of handling of quoted text, and
-may remove signatures, reformat the text, or the like---depending on
-which used settings you're using.  Message usually gets things right,
-but sometimes it stumbles.  To help the user unwind these stumblings,
-Message sets the undo boundary before each major automatic action it
-takes.  If you press the undo key (usually located at @kbd{C-_}) a few
-times, you will get back the un-edited message you're responding to.
-
-
 @node Header Commands
 @section Header Commands
 
@@ -362,57 +351,57 @@ it will be inserted.
 Describe the message mode.
 
 @item C-c C-f C-t
-@kindex C-c C-f C-t
+@kindex C-c C-f C-t 
 @findex message-goto-to
 Go to the @code{To} header (@code{message-goto-to}).
 
 @item C-c C-f C-b
-@kindex C-c C-f C-b
+@kindex C-c C-f C-b 
 @findex message-goto-bcc
 Go to the @code{Bcc} header (@code{message-goto-bcc}).
 
 @item C-c C-f C-f
-@kindex C-c C-f C-f
+@kindex C-c C-f C-f 
 @findex message-goto-fcc
 Go to the @code{Fcc} header (@code{message-goto-fcc}).
 
 @item C-c C-f C-c
-@kindex C-c C-f C-c
+@kindex C-c C-f C-c 
 @findex message-goto-cc
 Go to the @code{Cc} header (@code{message-goto-cc}).
 
 @item C-c C-f C-s
-@kindex C-c C-f C-s
+@kindex C-c C-f C-s 
 @findex message-goto-subject
 Go to the @code{Subject} header (@code{message-goto-subject}).
 
 @item C-c C-f C-r
-@kindex C-c C-f C-r
+@kindex C-c C-f C-r 
 @findex message-goto-reply-to
 Go to the @code{Reply-To} header (@code{message-goto-reply-to}).
 
 @item C-c C-f C-n
-@kindex C-c C-f C-n
+@kindex C-c C-f C-n 
 @findex message-goto-newsgroups
 Go to the @code{Newsgroups} header (@code{message-goto-newsgroups}).
 
 @item C-c C-f C-d
-@kindex C-c C-f C-d
+@kindex C-c C-f C-d 
 @findex message-goto-distribution
 Go to the @code{Distribution} header (@code{message-goto-distribution}).
 
 @item C-c C-f C-o
-@kindex C-c C-f C-o
+@kindex C-c C-f C-o 
 @findex message-goto-followup-to
 Go to the @code{Followup-To} header (@code{message-goto-followup-to}).
 
 @item C-c C-f C-k
-@kindex C-c C-f C-k
+@kindex C-c C-f C-k 
 @findex message-goto-keywords
 Go to the @code{Keywords} header (@code{message-goto-keywords}).
 
 @item C-c C-f C-u
-@kindex C-c C-f C-u
+@kindex C-c C-f C-u 
 @findex message-goto-summary
 Go to the @code{Summary} header (@code{message-goto-summary}).
 
@@ -424,13 +413,13 @@ Go to the @code{Summary} header (@code{message-goto-summary}).
 
 @table @kbd
 @item C-c C-b
-@kindex C-c C-b
+@kindex C-c C-b 
 @findex message-goto-body
 Move to the beginning of the body of the message
-(@code{message-goto-body}).
+(@code{message-goto-body}). 
 
 @item C-c C-i
-@kindex C-c C-i
+@kindex C-c C-i 
 @findex message-goto-signature
 Move to the signature of the message (@code{message-goto-signature}).
 
@@ -443,19 +432,13 @@ Move to the signature of the message (@code{message-goto-signature}).
 @table @kbd
 
 @item C-c C-y
-@kindex C-c C-y
+@kindex C-c C-y 
 @findex message-yank-original
 Yank the message that's being replied to into the message buffer
-(@code{message-yank-original}).
-
-@item C-c M-C-y
-@kindex C-c M-C-y
-@findex message-yank-buffer
-Prompt for a buffer name and yank the contents of that buffer into the
-message buffer (@code{message-yank-buffer}).
+(@code{message-yank-original}). 
 
 @item C-c C-q
-@kindex C-c C-q
+@kindex C-c C-q 
 @findex 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
@@ -463,16 +446,12 @@ 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
+@kindex C-c C-w 
 @findex message-insert-signature
 Insert a signature at the end of the buffer
-(@code{message-insert-signature}).
-
-@item C-c M-h
-@kindex C-c M-h
-@findex message-insert-headers
-Insert the message headers (@code{message-insert-headers}).
+(@code{message-insert-signature}).  
 
 @end table
 
@@ -483,10 +462,6 @@ All headers that match this regexp will be removed from yanked
 messages.  The default is @samp{.}, which means that all headers will be
 removed.
 
-@item message-cite-prefix-regexp
-@vindex message-cite-prefix-regexp
-Regexp matching the longest possible citation prefix on a line.
-
 @item message-citation-line-function
 @vindex message-citation-line-function
 Function called to insert the citation line.  The default is
@@ -508,6 +483,7 @@ When you are replying to or following up an article, you normally want
 to quote the person you are answering.  Inserting quoted text is done by
 @dfn{yanking}, and each quoted line you yank will have
 @code{message-yank-prefix} prepended to it.  The default is @samp{> }.
+If it is @code{nil}, just indent the message.
 
 @item message-indentation-spaces
 @vindex message-indentation-spaces
@@ -559,157 +535,6 @@ Including ASCII graphics is an efficient way to get everybody to believe
 that you are silly and have nothing important to say.
 
 
-@node MIME
-@section MIME
-@cindex MML
-@cindex MIME
-@cindex multipart
-@cindex attachment
-
-Message is a @sc{mime}-compliant posting agent.  The user generally
-doesn't have to do anything to make the @sc{mime} happen---Message will
-automatically add the @code{Content-Type} and
-@code{Content-Transfer-Encoding} headers.
-
-The most typical thing users want to use the multipart things in
-@sc{mime} for is to add ``attachments'' to mail they send out.  This can
-be done with the @code{C-c C-a} command, which will prompt for a file
-name and a @sc{mime} type.
-
-You can also create arbitrarily complex multiparts using the MML
-language (@pxref{Composing, , Composing, emacs-mime, The Emacs MIME
-Manual}).
-
-@node Security
-@section Security
-@cindex Security
-@cindex S/MIME
-@cindex PGP/MIME
-@cindex sign
-@cindex encrypt
-
-Using the MML language, Message is able to create digitally signed and
-digitally encrypted messages.  Message (or rather MML) currently support
-PGP/MIME and S/MIME.  Instructing MML to perform security operations on
-a MIME part is done using the @code{C-c C-m s} key map for signing and the
-@code{C-c C-m c} key map for encryption, as follows.
-
-@table @kbd
-
-@item C-c C-m s s
-@kindex C-c C-m s s
-@findex mml-secure-sign-smime
-
-Digitally sign current MIME part using S/MIME.
-
-@item C-c C-m s p
-@kindex C-c C-m s p
-@findex mml-secure-sign-pgp
-
-Digitally sign current MIME part using PGP/MIME.
-
-@item C-c C-m c s
-@kindex C-c C-m c s
-@findex mml-secure-encrypt-smime
-
-Digitally encrypt current MIME part using S/MIME.
-
-@item C-c C-m c p
-@kindex C-c C-m c p
-@findex mml-secure-encrypt-pgpmime
-
-Digitally encrypt current MIME part using PGP/MIME.
-
-@end table
-
-These commands do not immediately sign or encrypt the message, they
-merely insert proper MML tags to instruct the MML engine to perform that
-operation when the message is actually sent.  They may perform other
-operations too, such as locating and retrieving a S/MIME certificate of
-the person you wish to send encrypted mail to.
-
-Since signing and especially encryption often is used when sensitive
-information is sent, you may want to have some way to ensure that your
-mail is actually signed or encrypted.  After invoking the above
-sign/encrypt commands, it is possible to preview the raw article by
-using @code{C-u C-m P} (@code{mml-preview}).  Then you can verify that
-your long rant about what your ex-significant other or whomever actually
-did with that funny looking person at that strange party the other
-night, actually will be sent encrypted.
-
-@emph{Note!}  Neither PGP/MIME nor S/MIME encrypt/signs RFC822 headers.
-They only operate on the MIME object.  Keep this in mind before sending
-mail with a sensitive Subject line.
-
-Actually using the security commands above is not very difficult.  At
-least not compared with making sure all involved programs talk with each
-other properly.  Thus, we now describe what external libraries or
-programs are required to make things work, and some small general hints.
-
-@subsection Using S/MIME
-
-@emph{Note!}  This section assume you have a basic familiarity with
-modern cryptography, S/MIME, various PKCS standards, OpenSSL and so on.
-
-The S/MIME support in Message (and MML) require OpenSSL.  OpenSSL
-perform the actual S/MIME sign/encrypt operations.  OpenSSL can be found
-at @code{http://www.openssl.org/}.  OpenSSL 0.9.6 and later should work.
-Version 0.9.5a cannot extract mail addresses from certificates, and it
-insert a spurious CR character into MIME separators so you may wish to
-avoid it if you would like to avoid being regarded as someone who send
-strange mail. (Although by sending S/MIME messages you've probably
-already lost that contest.)
-
-To be able to send encrypted mail, a personal certificate is not
-required.  Message (MML) need a certificate for the person to whom you
-wish to communicate with though.  You're asked for this when you type
-@code{C-c C-m c s}.  Currently there are two ways to retrieve this
-certificate, from a local file or from DNS.  If you chose a local file,
-it need to contain a X.509 certificate in PEM format.  If you chose DNS,
-you're asked for the domain name where the certificate is stored, the
-default is a good guess.  To my belief, Message (MML) is the first mail
-agent in the world to support retrieving S/MIME certificates from DNS,
-so you're not likely to find very many certificates out there.  At least
-there should be one, stored at the domain @code{simon.josefsson.org}.
-LDAP is a more popular method of distributing certificates, support for
-it is planned.  (Meanwhile, you can use @code{ldapsearch} from the
-command line to retrieve a certificate into a file and use it.)
-
-As for signing messages, OpenSSL can't perform signing operations
-without some kind of configuration.  Especially, you need to tell it
-where your private key and your certificate is stored.  MML uses an
-Emacs interface to OpenSSL, aptly named @code{smime.el}, and it contain
-a @code{custom} group used for this configuration.  So, try @code{M-x
-customize-group RET smime RET} and look around.
-
-Currently there is no support for talking to a CA (or RA) to create your
-own certificate.  None is planned either.  You need to do this manually
-with OpenSSL or using some other program.  I used Netscape and got a
-free S/MIME certificate from one of the big CA's on the net.  Netscape
-is able to export your private key and certificate in PKCS #12 format.
-Use OpenSSL to convert this into a plain X.509 certificate in PEM format
-as follows.
-
-@example
-$ openssl pkcs12 -in ns.p12 -clcerts -nodes > key+cert.pem
-@end example
-
-The @code{key+cert.pem} file should be pointed to from the
-@code{smime-keys} variable.  You should now be able to send signed mail.
-
-@emph{Note!}  Your private key is store unencrypted in the file, so take
-care in handling it.
-
-@subsection Using PGP/MIME
-
-PGP/MIME requires an external OpenPGP implementation, such as GNU
-Privacy Guard (@code{http://www.gnupg.org/}).  It also requires an Emacs
-interface to it, such as Mailcrypt (available from
-@code{http://www.nb.net/~lbudney/linux/software/mailcrypt.html}) or
-Florian Weimer's @code{gpg.el}.
-
-Creating your own OpenPGP key is described in detail in the
-documentation of your OpenPGP implementation, so we refer to it.
 
 @node Various Commands
 @section Various Commands
@@ -717,7 +542,7 @@ documentation of your OpenPGP implementation, so we refer to it.
 @table @kbd
 
 @item C-c C-r
-@kindex C-c C-r
+@kindex C-c C-r 
 @findex message-caesar-buffer-body
 Caesar rotate (aka. rot13) the current message
 (@code{message-caesar-buffer-body}).  If narrowing is in effect, just
@@ -728,9 +553,8 @@ many places to rotate the text.  The default is 13.
 @kindex C-c C-e
 @findex message-elide-region
 Elide the text between point and mark (@code{message-elide-region}).
-The text is killed and replaced with the contents of the variable
-@code{message-elide-ellipsis}. The default value is to use an ellipsis
-(@samp{[...]}).
+The text is killed and an ellipsis (@samp{[...]}) will be inserted in
+its place.
 
 @item C-c C-z
 @kindex C-c C-x
@@ -765,17 +589,17 @@ If point is before @samp{And} and you press @kbd{M-RET}, you'll get:
 > And here's more quoted text.
 @end example
 
-@samp{*} says where point will be placed.
+@samp{*} says where point will be placed.  
 
 @item C-c C-t
-@kindex C-c C-t
+@kindex C-c C-t 
 @findex message-insert-to
 Insert a @code{To} header that contains the @code{Reply-To} or
 @code{From} header of the message you're following up
-(@code{message-insert-to}).
+(@code{message-insert-to}). 
 
 @item C-c C-n
-@kindex C-c C-n
+@kindex C-c C-n 
 @findex message-insert-newsgroups
 Insert a @code{Newsgroups} header that reflects the @code{Followup-To}
 or @code{Newsgroups} header of the article you're replying to
@@ -795,15 +619,15 @@ prompt for a new buffer name.
 
 @table @kbd
 @item C-c C-c
-@kindex C-c C-c
+@kindex C-c C-c 
 @findex message-send-and-exit
 Send the message and bury the current buffer
-(@code{message-send-and-exit}).
+(@code{message-send-and-exit}). 
 
 @item C-c C-s
-@kindex C-c C-s
+@kindex C-c C-s 
 @findex message-send
-Send the message (@code{message-send}).
+Send the message (@code{message-send}). 
 
 @item C-c C-d
 @kindex C-c C-d
@@ -846,51 +670,6 @@ No expansion will be performed upon sending of the message---all
 expansions have to be done explicitly.
 
 
-@node Spelling
-@section Spelling
-@cindex spelling
-@findex ispell-message
-
-There are two popular ways to have Emacs spell-check your messages:
-@code{ispell} and @code{flyspell}.  @code{ispell} is the older and
-probably more popular package.  You typically first write the message,
-and then run the entire thing through @code{ispell} and fix all the
-typos.  To have this happen automatically when you send a message, put
-something like the following in your @file{.emacs} file:
-
-@lisp
-(add-hook 'message-send-hook 'ispell-message)
-@end lisp
-
-@vindex ispell-message-dictionary-alist
-If you're in the habit of writing in different languages, this can be
-controlled by the @code{ispell-message-dictionary-alist} variable:
-
-@lisp
-(setq ispell-message-dictionary-alist
-      '(("^Newsgroups:.*\\bde\\." . "deutsch8")
-       (".*" . "default")))
-@end lisp
-
-@code{ispell} depends on having the external @samp{ispell} command
-installed.
-
-The other popular method is using @code{flyspell}.  This package checks
-your spelling while you're writing, and marks any mis-spelled words in
-various ways.
-
-To use @code{flyspell}, put something like the following in your
-@file{.emacs} file:
-
-@lisp
-(defun my-message-setup-routine ()
-  (flyspell-mode 1))
-(add-hook 'message-setup-hook 'my-message-setup-routine)
-@end lisp
-
-@code{flyspell} depends on having the external @samp{ispell} command
-installed.
-
 
 @node Variables
 @chapter Variables
@@ -921,14 +700,8 @@ look sufficiently similar.
 
 @item message-generate-headers-first
 @vindex message-generate-headers-first
-If non-@code{nil}, generate all required headers before starting to
-compose the message.
-
-The variables @code{message-required-mail-headers} and
-@code{message-required-news-headers} specify which headers are required.
-
-Note that some headers will be removed and re-generated before posting,
-because of the variable @code{message-deletable-headers} (see below).
+If non-@code{nil}, generate all headers before starting to compose the
+message.  
 
 @item message-from-style
 @vindex message-from-style
@@ -962,7 +735,7 @@ ship it off again.  By default, this variable makes sure that the old
 generated @code{Message-ID} is deleted, and a new one generated.  If
 this isn't done, the entire empire would probably crumble, anarchy would
 prevail, and cats would start walking on two legs and rule the world.
-Allegedly.
+Allegedly.  
 
 @item message-default-headers
 @vindex message-default-headers
@@ -972,7 +745,7 @@ 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 is
+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: }
@@ -981,11 +754,6 @@ 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.
 
-@item message-alternative-emails
-@vindex message-alternative-emails
-A regexp to match the alternative email addresses.  The first matched
-address (not primary one) is used in the @code{From} field.
-
 @end table
 
 
@@ -997,12 +765,12 @@ address (not primary one) is used in the @code{From} field.
 @vindex message-required-mail-headers
 @xref{News Headers}, for the syntax of this variable.  It is
 @code{(From Date Subject (optional . In-Reply-To) Message-ID Lines
-(optional . User-Agent))} by default.
+(optional . X-Mailer))} by default.
 
 @item message-ignored-mail-headers
 @vindex message-ignored-mail-headers
 Regexp of headers to be removed before mailing.  The default is
-@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:}.
+@samp{^[GF]cc:\\|^Resent-Fcc:}.
 
 @item message-default-mail-headers
 @vindex message-default-mail-headers
@@ -1013,7 +781,7 @@ buffers that are initialized as mail.
 
 
 @node Mail Variables
-@section Mail Variables
+@section Mail Variables 
 
 @table @code
 @item message-send-mail-function
@@ -1030,12 +798,6 @@ 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.
 
-@item message-send-mail-partially-limit
-@vindex message-send-mail-partially-limit
-The limitation of messages sent as message/partial.
-The lower bound of message size in characters, beyond which the message 
-should be sent in several parts. If it is nil, the size is unlimited.
-
 @end table
 
 
@@ -1060,7 +822,7 @@ This required header will be filled out with the result of the
 
 @item Subject
 @cindex Subject
-This required header will be prompted for if not present already.
+This required header will be prompted for if not present already. 
 
 @item Newsgroups
 @cindex Newsgroups
@@ -1086,16 +848,22 @@ This optional header will be computed by Message.
 @findex system-name
 @cindex Sun
 This required header will be generated by Message.  A unique ID will be
-created based on the date, time, user name and system name.  Message
-will use @code{system-name} to determine the name of the system.  If
-this isn't a fully qualified domain name (FQDN), Message will use
-@code{mail-host-address} as the FQDN of the machine.
-
-@item User-Agent
-@cindex User-Agent
+created based on the date, time, user name and system name.  Message will
+use @code{mail-host-address} as the fully qualified domain name (FQDN)
+of the machine if that variable is defined.  If not, it will use
+@code{system-name}, which doesn't report a FQDN on some machines --
+notably Suns.
+
+@item X-Newsreader
+@cindex X-Newsreader
 This optional header will be filled out according to the
 @code{message-newsreader} local variable.
 
+@item X-Mailer
+This optional header will be filled out according to the
+@code{message-mailer} local variable, unless there already is an
+@code{X-Newsreader} header present.
+
 @item In-Reply-To
 This optional header is filled out using the @code{Date} and @code{From}
 header of the article being replied to.
@@ -1157,21 +925,21 @@ to this list.
 Valid checks are:
 
 @table @code
-@item subject-cmsg
+@item subject-cmsg 
 Check the subject for commands.
 @item sender
 @cindex Sender
-Insert a new @code{Sender} header if the @code{From} header looks odd.
-@item multiple-headers
+Insert a new @code{Sender} header if the @code{From} header looks odd. 
+@item multiple-headers 
 Check for the existence of multiple equal headers.
-@item sendsys
+@item sendsys 
 @cindex sendsys
 Check for the existence of version and sendsys commands.
 @item message-id
 Check whether the @code{Message-ID} looks ok.
 @item from
 Check whether the @code{From} header seems nice.
-@item long-lines
+@item long-lines 
 @cindex long lines
 Check for too long lines.
 @item control-chars
@@ -1188,12 +956,10 @@ Check whether the article has an @code{Approved} header, which is
 something only moderators should include.
 @item empty
 Check whether the article is empty.
-@item invisible-text
-Check whether there is any invisible text in the buffer.
 @item empty-headers
 Check whether any of the headers are empty.
 @item existing-newsgroups
-Check whether the newsgroups mentioned in the @code{Newsgroups} and
+Check whether the newsgroups mentioned in the @code{Newsgroups} and 
 @code{Followup-To} headers exist.
 @item valid-newsgroups
 Check whether the @code{Newsgroups} and @code{Followup-to} headers
@@ -1211,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:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:}.
+@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:}.
 
 @item message-default-news-headers
 @vindex message-default-news-headers
@@ -1228,7 +994,7 @@ buffers that are initialized as news.
 @item message-send-news-function
 @vindex message-send-news-function
 Function used to send the current buffer as news.  The default is
-@code{message-send-news}.
+@code{message-send-news}. 
 
 @item message-post-method
 @vindex message-post-method
@@ -1242,21 +1008,10 @@ posting a prepared news message.
 @section Various Message Variables
 
 @table @code
-@item message-default-charset
-@vindex message-default-charset
-@cindex charset
-Symbol naming a @sc{mime} charset.  Non-ASCII characters in messages are
-assumed to be encoded using this charset.  The default is @code{nil},
-which means ask the user.  (This variable is used only on non-@sc{mule}
-Emacsen.  
-@xref{Charset Translation, , Charset Translation, emacs-mime, 
-      Emacs MIME Manual}, for details on the @sc{mule}-to-@sc{mime}
-translation process.
-
 @item message-signature-separator
 @vindex message-signature-separator
 Regexp matching the signature separator.  It is @samp{^-- *$} by
-default.
+default. 
 
 @item mail-header-separator
 @vindex mail-header-separator
@@ -1265,12 +1020,12 @@ follows this line--} by default.
 
 @item message-directory
 @vindex message-directory
-Directory used by many mailey things.  The default is @file{~/Mail/}.
+Directory used by many mailey things.  The default is @file{~/Mail/}. 
 
 @item message-signature-setup-hook
 @vindex message-signature-setup-hook
 Hook run when initializing the message buffer.  It is run after the
-headers have been inserted but before the signature has been inserted.
+headers have been inserted but before the signature has been inserted. 
 
 @item message-setup-hook
 @vindex message-setup-hook
@@ -1279,7 +1034,7 @@ but before yanked text is inserted.
 
 @item message-header-setup-hook
 @vindex message-header-setup-hook
-Hook called narrowed to the headers after initializing the headers.
+Hook called narrowed to the headers after initializing the headers. 
 
 For instance, if you're running Gnus and wish to insert a
 @samp{Mail-Copies-To} header in all your news articles and all messages
@@ -1308,8 +1063,10 @@ If you want to add certain headers before sending, you can use the
 @lisp
 (add-hook 'message-send-hook 'my-message-add-content)
 (defun my-message-add-content ()
-  (message-add-header "X-In-No-Sense: Nonsense")
-  (message-add-header "X-Whatever: no"))
+  (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.
@@ -1368,10 +1125,10 @@ A function to be called if @var{predicate} returns non-@code{nil}.
 
 @table @code
 
-@item message-fcc-handler-function
-@vindex message-fcc-handler-function
+@item message-fcc-handler-function 
+@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
+called with the name of the file to store the article in. The default
 function is @code{message-output} which saves in Unix mailbox format.
 
 @item message-courtesy-message
@@ -1381,7 +1138,7 @@ the mailed copy.  If the string contains the format spec @samp{%s}, the
 newsgroups the article has been posted to will be inserted there.  If
 this variable is @code{nil}, no such courtesy message will be added.
 The default value is @samp{"The following message is a courtesy copy of
-an article\nthat has been posted to %s as well.\n\n"}.
+an article\nthat has been posted to %s as well.\n\n"}. 
 
 @end table
 
@@ -1434,7 +1191,7 @@ If non-@code{nil}, kill the buffer immediately on exit.
 When Message is being used from a news/mail reader, the reader is likely
 to want to perform some task after the message has been sent.  Perhaps
 return to the previous window configuration or mark an article as
-replied.
+replied.  
 
 @vindex message-kill-actions
 @vindex message-postpone-actions
@@ -1447,7 +1204,7 @@ C-d} which postpones the message editing and buries the message buffer,
 and @kbd{C-c C-k} which kills the message buffer.  Each of these actions
 have lists associated with them that contains actions to be executed:
 @code{message-send-actions}, @code{message-exit-actions},
-@code{message-postpone-actions}, and @code{message-kill-actions}.
+@code{message-postpone-actions}, and @code{message-kill-actions}.  
 
 Message provides a function to interface with these lists:
 @code{message-add-action}.  The first parameter is the action to be