2001-07-11 04:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
[gnus] / texi / message.texi
index 68cf4c3..7b3fe0f 100644 (file)
@@ -1,11 +1,11 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 5.8.7 Manual
+@settitle Message (Oort) Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
-@dircategory Editors
+@dircategory Emacs
 @direntry
 * Message: (message).   Mail and news composition mode that goes with Gnus.
 @end direntry
@@ -18,7 +18,7 @@
 
 This file documents Message, the Emacs message composition mode.
 
-Copyright (C) 1996,97,98,99,2000 Free Software Foundation, Inc.
+Copyright (C) 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
@@ -41,13 +41,14 @@ license to the document, as described in section 6 of the license.
 @tex
 
 @titlepage
-@title Message 5.8.7 Manual
+@title Message (Oort) Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
 
 @vskip 0pt plus 1filll
-Copyright @copyright{} 1996,97,98,99,2000 Free Software Foundation, Inc.
+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
@@ -86,7 +87,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 5.8.7.  Message is distributed with
+This manual corresponds to Oort Message.   Message is distributed with
 the Gnus distribution bearing the same version number as this manual.
 
 
@@ -319,6 +320,7 @@ 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.
@@ -327,9 +329,25 @@ will be removed before popping up the buffer.  The default is
 * 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
 
@@ -487,10 +505,20 @@ function is called.
 @cindex yanking
 @cindex quoting
 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
+to quote the person you are answering.  Inserting quoted text is done
+by @dfn{yanking}, and each quoted line you yank (except earlier
+quotes, see @code{message-yank-cited-prefix}) will have
 @code{message-yank-prefix} prepended to it.  The default is @samp{> }.
 
+@item message-yank-cited-prefix
+@vindex message-yank-cited-prefix
+@cindex yanking
+@cindex cited
+@cindex quoting
+The @code{message-yank-prefix} prefix is not used on already cited
+lines, instead the contents of this variable is used as yank prefix.
+The default is @samp{>}.
+
 @item message-indentation-spaces
 @vindex message-indentation-spaces
 Number of spaces to indent yanked messages.
@@ -573,31 +601,31 @@ Manual}).
 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{M-m s} key map for signing and the
-@code{M-m c} key map for encryption, as follows.
+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 M-m s s
-@kindex M-m s s
+@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 M-m s p
-@kindex M-m s p
+@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 M-m c s
-@kindex M-m c s
+@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 M-m c p
-@kindex M-m c p
+@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.
@@ -614,7 +642,7 @@ 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 M-m P} (@code{mml-preview}).  Then you can verify that
+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.
@@ -635,16 +663,17 @@ 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.5a and later should
-work.  However, version 0.9.5a 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.)
+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{M-m c s}.  Currently there are two ways to retrieve this
+@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
@@ -683,14 +712,14 @@ care in handling it.
 
 @subsection Using PGP/MIME
 
-PGP/MIME require an external PGP implementation, such as GNU Privacy
-Gaurd (@code{http://www.gnupg.org/}.  It also require a Emacs interface
-to it, such as Mailcrypt (available from
+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 PGP key is described in detail in various PGP
-documentation, so we refer to it.
+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
@@ -827,6 +856,51 @@ 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
@@ -857,8 +931,14 @@ look sufficiently similar.
 
 @item message-generate-headers-first
 @vindex message-generate-headers-first
-If non-@code{nil}, generate all headers before starting to compose the
-message.
+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).
 
 @item message-from-style
 @vindex message-from-style
@@ -902,7 +982,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 in
+is @emph{not} an abbreviation of the English word ``response'', but is
 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: }
@@ -927,12 +1007,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 . X-Mailer))} by default.
+(optional . User-Agent))} 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:}.
+@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:}.
 
 @item message-default-mail-headers
 @vindex message-default-mail-headers
@@ -960,6 +1040,12 @@ 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
 
 
@@ -1015,16 +1101,11 @@ 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 X-Newsreader
-@cindex X-Newsreader
+@item User-Agent
+@cindex User-Agent
 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.
@@ -1140,7 +1221,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:}.
+@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:}.
 
 @item message-default-news-headers
 @vindex message-default-news-headers
@@ -1237,9 +1318,8 @@ 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"
-   "X-Whatever: no"))
+  (message-add-header "X-In-No-Sense: Nonsense")
+  (message-add-header "X-Whatever: no"))
 @end lisp
 
 This function won't add the header if the header is already present.