Merge changes from emacs-23 branch
[bpt/emacs.git] / doc / emacs / rmail.texi
index d5ea368..1477a69 100644 (file)
@@ -1,6 +1,7 @@
 @c This is part of the Emacs manual.
 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
-@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+@c   2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Rmail, Dired, Sending Mail, Top
 @chapter Reading Mail with Rmail
@@ -21,7 +22,7 @@ Rmail mode, which redefines most letters to run commands for managing mail.
 * Deletion: Rmail Deletion.  Deleting and expunging messages.
 * Inbox: Rmail Inbox.        How mail gets into the Rmail file.
 * Files: Rmail Files.        Using multiple Rmail files.
-* Output: Rmail Output.             Copying messages out to files.
+* Output: Rmail Output.      Copying messages out to files.
 * Labels: Rmail Labels.      Classifying messages by labeling them.
 * Attrs: Rmail Attributes.   Certain standard labels, called attributes.
 * Reply: Rmail Reply.        Sending replies to messages you are viewing.
@@ -31,7 +32,7 @@ Rmail mode, which redefines most letters to run commands for managing mail.
 * Coding: Rmail Coding.      How Rmail handles decoding character sets.
 * Editing: Rmail Editing.    Editing message text and headers in Rmail.
 * Digest: Rmail Digest.      Extracting the messages from a digest message.
-* Rot13: Rmail Rot13.       Reading messages encoded in the rot13 code.
+* Rot13: Rmail Rot13.        Reading messages encoded in the rot13 code.
 * Movemail::                 More details of fetching new mail.
 * Remote Mailboxes::         Retrieving mail from remote mailboxes.
 * Other Mailbox Formats::    Retrieving mail from local mailboxes in
@@ -683,12 +684,12 @@ standard meaning.
 @node Rmail Reply
 @section Sending Replies
 
-  Rmail has several commands that use Mail mode to send outgoing mail.
-@xref{Sending Mail}, for information on using Mail mode, including
-certain features meant to work with Rmail.  What this section documents
-are the special commands of Rmail for entering Mail mode.  Note that the
-usual keys for sending mail---@kbd{C-x m}, @kbd{C-x 4 m}, and @kbd{C-x 5
-m}---also work normally in Rmail mode.
+  Rmail has several commands to send outgoing mail.  @xref{Sending
+Mail}, for information on using Message mode, including certain
+features meant to work with Rmail.  What this section documents are
+the special commands of Rmail for entering the mail buffer.  Note that
+the usual keys for sending mail---@kbd{C-x m}, @kbd{C-x 4 m}, and
+@kbd{C-x 5 m}---also work normally in Rmail mode.
 
 @table @kbd
 @item m
@@ -735,12 +736,12 @@ the reply command with a numeric argument: @kbd{C-u r} or @kbd{1 r}.
 This means to reply only to the sender of the original message.
 
   Once the @samp{*mail*} buffer has been initialized, editing and
-sending the mail goes as usual (@pxref{Sending Mail}).  You can edit the
-presupplied header fields if they are not what you want.  You can also
-use the commands of Mail mode (@pxref{Mail Mode}), including @kbd{C-c
-C-y} which yanks in the message that you are replying to.  You can
-also switch to the Rmail buffer, select a different message there, switch
-back, and yank the new current message.
+sending the mail goes as usual (@pxref{Sending Mail}).  You can edit
+the presupplied header fields if they are not what you want.  You can
+also use commands such as @kbd{C-c C-y}, which yanks in the message
+that you are replying to (@pxref{Mail Commands}).  You can also switch
+to the Rmail buffer, select a different message there, switch back,
+and yank the new current message.
 
 @kindex M-m @r{(Rmail)}
 @findex rmail-retry-failure
@@ -834,8 +835,8 @@ Rmail buffer's name.  Normally only one summary buffer is displayed at a
 time.
 
 @menu
-* Rmail Make Summary::      Making various sorts of summaries.
-* Rmail Summary Edit::      Manipulating messages from the summary.
+* Rmail Make Summary::       Making various sorts of summaries.
+* Rmail Summary Edit::       Manipulating messages from the summary.
 @end menu
 
 @node Rmail Make Summary
@@ -1100,57 +1101,90 @@ buffer before sorting it.
 @node Rmail Display
 @section Display of Messages
 
-  Rmail reformats the header of each message before displaying it for
-the first time.  Reformatting hides uninteresting header fields to
-reduce clutter.  You can use the @kbd{t} command to show the entire
-header or to repeat the header reformatting operation.
+  This section describes how Rmail displays mail headers,
+@acronym{MIME} sections and attachments, and URLs.
 
 @table @kbd
 @item t
 Toggle display of complete header (@code{rmail-toggle-header}).
 @end table
 
-@vindex rmail-ignored-headers
-@vindex rmail-nonignored-headers
-  Reformatting the header involves deleting most header fields, on the
-grounds that they are not interesting.  The variable
-@code{rmail-ignored-headers} holds a regular expression that specifies
-which header fields to hide in this way---if it matches the beginning
-of a header field, that whole field is hidden.  However, the variable
-@code{rmail-nonignored-headers} provides a further override: a header
-matching that regular expression is shown even if it matches
-@code{rmail-ignored-headers} too.
-
-@vindex rmail-displayed-headers
-  As an alternative to the previous two variables, you can set
-@code{rmail-displayed-headers} instead.  If non-@code{nil}, this should
-be a regular expression specifying which headers to display.
-
 @kindex t @r{(Rmail)}
 @findex rmail-toggle-header
-  To see the complete, original header, use the @kbd{t} command
-(@code{rmail-toggle-header}).  This discards the reformatted headers of
-the current message and displays it with the original header.  Repeating
-@kbd{t} reformats the message again, which shows only the interesting
-headers according to the current values of the above variables.
-Selecting the message again also reformats it if necessary.
+  Before displaying each message for the first time, Rmail reformats
+its header, hiding uninteresting header fields to reduce clutter.  The
+@kbd{t} (@code{rmail-toggle-header}) command toggles this, switching
+between showing the reformatted header fields and showing the
+complete, original header.  With a positive prefix argument, the
+command shows the reformatted header; with a zero or negative prefix
+argument, it shows the full header.  Selecting the message again also
+reformats it if necessary.
 
-  When the @kbd{t} command has a prefix argument, a positive argument
-means to show the reformatted header, and a zero or negative argument
-means to show the full header.
+@vindex rmail-ignored-headers
+@vindex rmail-displayed-headers
+@vindex rmail-nonignored-headers
+  The variable @code{rmail-ignored-headers} holds a regular expression
+specifying the header fields to hide; any matching header line will be
+hidden.  The variable @code{rmail-nonignored-headers} overrides this:
+any header field matching that regular expression is shown even if it
+matches @code{rmail-ignored-headers} too.  The variable
+@code{rmail-displayed-headers} is an alternative to these two
+variables; if non-@code{nil}, this should be a regular expression
+specifying which headers to display (the default is @code{nil}).
 
 @vindex rmail-highlighted-headers
   Rmail highlights certain header fields that are especially
 interesting---by default, the @samp{From} and @samp{Subject} fields.
-The variable @code{rmail-highlighted-headers} holds a regular expression
-that specifies the header fields to highlight; if it matches the
-beginning of a header field, that whole field is highlighted.  To turn
-off this feature, set @code{rmail-highlighted-headers} to @code{nil}.
-Customize the face @code{rmail-highlight} to adjust the style of the
-highlighting.
+This highlighting uses the @code{rmail-highlight} face.  The variable
+@code{rmail-highlighted-headers} holds a regular expression specifying
+the header fields to highlight; if it matches the beginning of a
+header field, that whole field is highlighted.  To disable this
+feature, set @code{rmail-highlighted-headers} to @code{nil}.
+
+@cindex MIME messages (Rmail)
+@vindex rmail-enable-mime
+  By default, Rmail automatically decodes @acronym{MIME} (Multipurpose
+Internet Mail Extensions) messages.  If the message contains multiple
+parts (@acronym{MIME} entities), each part is represented by a tagline
+in the Rmail buffer.  The tagline summarizes the part's depth, index,
+and type, and may also contain a button for handling it, e.g. saving
+it to a file or displaying it as an image in the Rmail buffer.
+
+@table @kbd
+@findex rmail-mime-toggle-hidden
+@item @key{RET}
+Hide or show the @acronym{MIME} part at point
+(@code{rmail-mime-toggle-hidden}).
 
-  You can highlight and activate URLs in incoming messages using
-Goto Address mode:
+@findex rmail-mime-next-item
+@item @key{TAB}
+Move point to the next @acronym{MIME} part
+(@code{rmail-mime-next-item}).
+
+@findex rmail-mime-previous-item
+@item @key{BackTab}
+Move point to the previous @acronym{MIME} part
+(@code{rmail-mime-previous-item}).
+
+@findex rmail-mime
+@item v
+@kindex v @r{(Rmail)}
+Toggle between @acronym{MIME} display and raw message
+(@code{rmail-mime}).
+@end table
+
+  The @kbd{v} (@code{rmail-mime}) command toggles between the default
+@acronym{MIME} display described above, and a ``raw'' display showing
+the undecoded @acronym{MIME} data.  With a prefix argument, this
+command toggles the display of only an entity at point.
+
+  To prevent Rmail from handling MIME decoded messages, change the
+variable @code{rmail-enable-mime} to @code{nil}.  When this is the
+case, the @kbd{v} (@code{rmail-mime}) command instead creates a
+temporary buffer to display the current @acronym{MIME} message.
+
+  You can highlight and activate URLs in the Rmail buffer using Goto
+Address mode:
 
 @c FIXME goto-addr.el commentary says to use goto-address instead.
 @smallexample
@@ -1162,13 +1196,6 @@ Then you can browse these URLs by clicking on them with @kbd{Mouse-2}
 (or @kbd{Mouse-1} quickly) or by moving to one and typing @kbd{C-c
 @key{RET}}.  @xref{Goto Address mode, Activating URLs, Activating URLs}.
 
-@cindex MIME messages (Rmail)
-@findex rmail-mime
-@kindex v @r{(Rmail)}
-  The @kbd{v} (@code{rmail-mime}) command creates a temporary buffer
-displaying the current MIME message.  By default, it displays plain text
-and multipart messages, and offers buttons to save attachments.
-
 @node Rmail Coding
 @section Rmail and Coding Systems
 
@@ -1191,7 +1218,8 @@ specification, or because the specification was inaccurate.  For
 example, a misconfigured mailer could send a message with a
 @samp{charset=iso-8859-1} header when the message is actually encoded
 in @code{koi8-r}.  When you see the message text garbled, or some of
-its characters displayed as empty boxes, this may have happened.
+its characters displayed as hex codes or empty boxes, this may have
+happened.
 
 @findex rmail-redecode-body
   You can correct the problem by decoding the message again using the