]> code.delx.au - gnu-emacs/blobdiff - man/rmail.texi
(recentf-save-file-coding-system): New variable.
[gnu-emacs] / man / rmail.texi
index d9654a88e50099eaf504924dde01fdef51c9b134..091d1e60b745139578459e9b86f37e73d5c95367 100644 (file)
@@ -84,14 +84,16 @@ file after merging new mail from an inbox file (@pxref{Rmail Inbox}).
 @findex rmail-quit
 @kindex b @r{(Rmail)}
 @findex rmail-bury
-  You can exit Rmail with @kbd{q} (@code{rmail-quit}); this expunges and
-saves the Rmail file and then switches to another buffer.  But there is
-no need to ``exit'' formally.  If you switch from Rmail to editing in
-other buffers, and never happen to switch back, you have exited.  (The
-Rmail command @kbd{b}, @code{rmail-bury}, does this for you.)  Just make
-sure to save the Rmail file eventually (like any other file you have
-changed).  @kbd{C-x s} is a good enough way to do this
-(@pxref{Saving}).
+  You can exit Rmail with @kbd{q} (@code{rmail-quit}); this expunges
+and saves the Rmail file, then buries the Rmail buffer as well as its
+summary buffer, if present (@pxref{Rmail Summary}).  But there is no
+need to ``exit'' formally.  If you switch from Rmail to editing in
+other buffers, and never happen to switch back, you have exited.  Just
+make sure to save the Rmail file eventually (like any other file you
+have changed).  @kbd{C-x s} is a good enough way to do this
+(@pxref{Saving}).  The Rmail command @kbd{b}, @code{rmail-bury},
+buries the Rmail buffer and its summary buffer without expunging and
+saving the Rmail file.
 
 @node Rmail Scrolling
 @section Scrolling Within a Message
@@ -255,8 +257,8 @@ current message and select another message.  @kbd{d}
 messages already deleted, while @kbd{C-d} (@code{rmail-delete-backward})
 moves to the previous nondeleted message.  If there is no nondeleted
 message to move to in the specified direction, the message that was just
-deleted remains current.  A numeric argument to either command reverses
-the direction of motion after deletion.
+deleted remains current.  @kbd{d} with a numeric argument is
+equivalent to @kbd{C-d}.
 
 @vindex rmail-delete-message-hook
   Whenever Rmail deletes a message, it runs the hook
@@ -297,13 +299,14 @@ adding or removing this attribute.  @xref{Rmail Attributes}.
 @section Rmail Files and Inboxes
 @cindex inbox file
 
-  The operating system places incoming mail for you in a file that we
-call your @dfn{inbox}.  When you start up Rmail, it runs a C program
-called @code{movemail} to copy the new messages from your inbox into
-your primary Rmail file, which also contains other messages saved from
-previous Rmail sessions.  It is in this file that you actually read the
-mail with Rmail.  This operation is called @dfn{getting new mail}.  You
-can get new mail at any time in Rmail by typing @kbd{g}.
+  When you receive mail locally, the operating system places incoming
+mail for you in a file that we call your @dfn{inbox}.  When you start
+up Rmail, it runs a C program called @code{movemail} to copy the new
+messages from your local inbox into your primary Rmail file, which
+also contains other messages saved from previous Rmail sessions.  It
+is in this file that you actually read the mail with Rmail.  This
+operation is called @dfn{getting new mail}.  You can get new mail at
+any time in Rmail by typing @kbd{g}.
 
 @vindex rmail-primary-inbox-list
 @cindex @env{MAIL} environment variable
@@ -316,7 +319,7 @@ means to use the default inbox.  The default inbox is
 or @file{/usr/mail/@var{username}}, depending on your operating system.
 
   To see what the default is on your system, use @kbd{C-h v
-rmail-primary-inbox @key{RET}}.  You can specify the inbox file(s) for
+rmail-primary-inbox-list @key{RET}}.  You can specify the inbox file(s) for
 any Rmail file with the command @code{set-rmail-inbox-list}; see
 @ref{Rmail Files}.
 
@@ -344,6 +347,35 @@ systems is adequate for the job, and we plan to change Rmail to use that
 as its internal format.  However, the Rmail file will still be separate
 from the inbox file, even on systems where their format is the same.
 
+@vindex rmail-preserve-inbox
+  When getting new mail, Rmail first copies the new mail from the inbox
+file to the Rmail file; then it saves the Rmail file; then it truncates
+the inbox file.  This way, a system crash may cause duplication of mail
+between the inbox and the Rmail file, but cannot lose mail.  If
+@code{rmail-preserve-inbox} is non-@code{nil}, then Rmail will copy new
+mail from the inbox file to the Rmail file without truncating the inbox
+file.  You may wish to set this, for example, on a portable computer you
+use to check your mail via POP while traveling, so that your mail will
+remain on the server and you can save it later on your workstation.
+
+  In some cases, Rmail copies the new mail from the inbox file
+indirectly.  First it runs the @code{movemail} program to move the mail
+from the inbox to an intermediate file called
+@file{~/.newmail-@var{inboxname}}.  Then Rmail merges the new mail from
+that file, saves the Rmail file, and only then deletes the intermediate
+file.  If there is a crash at the wrong time, this file continues to
+exist, and Rmail will use it again the next time it gets new mail from
+that inbox.
+
+  If Rmail is unable to convert the data in
+@file{~/.newmail-@var{inboxname}} into Babyl format, it renames the file
+to @file{~/RMAILOSE.@var{n}} (@var{n} is an integer chosen to make the
+name unique) so that Rmail will not have trouble with the data again.
+You should look at the file, find whatever message confuses Rmail
+(probably one that includes the control-underscore character, octal code
+037), and delete it.  Then you can use @kbd{1 g} to get new mail from
+the corrected file.
+
 @node Rmail Files
 @section Multiple Rmail Files
 
@@ -478,13 +510,14 @@ second says which files in that directory to offer (all those that match
 the regular expression).
 
 @vindex rmail-delete-after-output
-  Copying a message gives the original copy of the message the
-@samp{filed} attribute, so that @samp{filed} appears in the mode line
-when such a message is current.  If you like to keep just a single copy
-of every mail message, set the variable @code{rmail-delete-after-output}
-to @code{t}; then the @kbd{o} and @kbd{C-o} commands delete the original
-message after copying it.  (You can undelete the original afterward if
-you wish.)
+  Copying a message with @kbd{o} or @kbd{C-o} gives the original copy
+of the message the @samp{filed} attribute, so that @samp{filed}
+appears in the mode line when such a message is current.  @kbd{w}
+gives it the @samp{stored} attribute.  If you like to keep just a
+single copy of every mail message, set the variable
+@code{rmail-delete-after-output} to @code{t}; then the @kbd{o},
+@kbd{C-o} and @kbd{w} commands delete the original message after
+copying it.  (You can undelete the original afterward if you wish.)
 
   Copying messages into files in system inbox format uses the header
 fields that are displayed in Rmail at the time.  Thus, if you use the
@@ -537,7 +570,8 @@ Move to the next message that has one of the labels @var{labels}
 @item C-M-p @var{labels} @key{RET}
 Move to the previous message that has one of the labels @var{labels}
 (@code{rmail-previous-labeled-message}).
-@item C-M-l @var{labels} @key{RET}
+@item l @var{labels} @key{RET}
+@itemx C-M-l @var{labels} @key{RET}
 Make a summary of all messages containing any of the labels @var{labels}
 (@code{rmail-summary-by-labels}).
 @end table
@@ -596,7 +630,9 @@ Means the message is deleted.  Assigned by deletion commands and
 removed by undeletion commands (@pxref{Rmail Deletion}).
 @item filed
 Means the message has been copied to some other file.  Assigned by the
-file output commands (@pxref{Rmail Files}).
+@kbd{o} and @kbd{C-o} file output commands (@pxref{Rmail Output}).
+@item stored
+Assigned by the @kbd{w} file output command (@pxref{Rmail Output}).
 @item answered
 Means you have mailed an answer to the message.  Assigned by the @kbd{r}
 command (@code{rmail-reply}).  @xref{Rmail Reply}.
@@ -855,10 +891,13 @@ message is selected in the Rmail buffer.
 
   Almost all Rmail commands work in the summary buffer as well as in the
 Rmail buffer.  Thus, @kbd{d} in the summary buffer deletes the current
-message, @kbd{u} undeletes, and @kbd{x} expunges.  @kbd{o} and @kbd{C-o}
-output the current message to a file; @kbd{r} starts a reply to it.  You
-can scroll the current message while remaining in the summary buffer
-using @key{SPC} and @key{DEL}.
+message, @kbd{u} undeletes, and @kbd{x} expunges.  (However, in the
+summary buffer, a numeric argument to @kbd{d}, @kbd{C-d} and @kbd{u}
+serves as a repeat count.  A negative argument reverses the meaning of
+@kbd{d} and @kbd{C-d}.)  @kbd{o} and @kbd{C-o} output the current
+message to a file; @kbd{r} starts a reply to it.  You can scroll the
+current message while remaining in the summary buffer using @key{SPC}
+and @key{DEL}.
 
   The Rmail commands to move between messages also work in the summary
 buffer, but with a twist: they move through the set of messages included
@@ -882,6 +921,12 @@ Move to previous line and select its message.
 Move to the last line, and select its message.
 @item <
 Move to the first line, and select its message.
+@item j
+@itemx @key{RET}
+Select the message on the current line (ensuring that the RMAIL buffer
+appears on the screen).  With argument @var{n}, select message number
+@var{n} and move to its line in the summary buffer; this signals an
+error if the message is not listed in the summary buffer.
 @item M-s @var{pattern} @key{RET}
 Search through messages for @var{pattern} starting with the current
 message; select the message found, and move point in the summary buffer
@@ -1003,8 +1048,9 @@ turn off highlighting entirely in Rmail, set
   You can highlight and activate URLs in incoming messages by adding
 the function @code{goto-address} to the hook
 @code{rmail-show-message-hook}.  Then you can browse these URLs by
-clicking on them with @kbd{Mouse-2} or by moving to one and typing
-@kbd{C-c @key{RET}}.  @xref{Goto-address, Activating URLs, Activating URLs}.
+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,
+Activating URLs, Activating URLs}.
 
 @node Rmail Coding
 @section Rmail and Coding Systems
@@ -1158,30 +1204,27 @@ which applies the code when displaying the text.
 @section @code{movemail} program
 @cindex @code{movemail} program
 
-  When invoked for the first time, Rmail attempts to locate
-@code{movemail} program and determine its version.  There are
-two versions of @code{movemail} program: the native one, shipped with
-GNU Emacs (we will refer to it as @samp{emacs version}) and the one
-coming from GNU mailutils (@xref{movemail,,,mailutils,GNU mailutils},
-we will refer to it as @samp{mailutils version}).  Both versions are
-compatible with each other in the sense that they support the same
-command line syntax and the same basic subset of options.  However,
-the @samp{mailutils} version offers a much richer set of
-features.
-
-The @samp{Emacs version} of @code{movemail} is able to retrieve mail from usual
-UNIX mailbox formats and from remote mailboxes using the POP3 protocol.
-
-The @samp{Mailutils version} is able to handle a wide set of mailbox
-formats, such as plain UNIX mailboxes, @code{maildir} and @code{MH}
-mailboxes, etc.  It is able to retrieve remote mail using POP3 or IMAP4
-protocol.  In the latter case, @code{mailutils movemail} can be
-instructed to retrieve mail using a TLS encrypted channel.
+  When invoked for the first time, Rmail attempts to locate the
+@code{movemail} program and determine its version.  There are two
+versions of @code{movemail} program: the native one, shipped with GNU
+Emacs (the ``emacs version'') and the one included in GNU mailutils
+(the ``mailutils version,'' @pxref{movemail,,,mailutils,GNU
+mailutils}).  They support the same command line syntax and the same
+basic subset of options.  However, the @samp{mailutils} version offers
+additional features.
+
+  The Emacs version of @code{movemail} is able to retrieve mail from
+usual UNIX mailbox formats and from remote mailboxes using the POP3
+protocol.
 
-The @samp{Mailutils movemail} accepts mailbox argument in the @acronym{URL}
-form.  The detailed description of mailbox @acronym{URL}s can be found
-in @ref{URL,,,mailutils,Mailbox URL Formats}.  In short, a
-@acronym{URL} is:
+  The Mailutils version is able to handle a wide set of mailbox
+formats, such as plain UNIX mailboxes, @code{maildir} and @code{MH}
+mailboxes, etc.  It is able to retrieve remote mail using POP3 or
+IMAP4 protocol, and can retrieve mail from them using a TLS encrypted
+channel.  It also accepts mailbox argument in the @acronym{URL} form.
+The detailed description of mailbox @acronym{URL}s can be found in
+@ref{URL,,,mailutils,Mailbox URL Formats}.  In short, a @acronym{URL}
+is:
 
 @smallexample
 @var{proto}://[@var{user}[:@var{password}]@@]@var{host-or-file-name}
@@ -1235,7 +1278,7 @@ specifies the remote user name to use, @var{pass} may be used to
 specify the user password, @var{host-or-file-name} is the name or IP
 address of the remote mail server to connect to; e.g.,
 @code{pop://smith:guessme@@remote.server.net}.
+
 @item imap
 A remote mailbox to be accessed via IMAP4 protocol.  @var{User}
 specifies the remote user name to use, @var{pass} may be used to
@@ -1244,56 +1287,26 @@ address of the remote mail server to connect to;
 e.g., @code{imap://smith:guessme@@remote.server.net}.
 @end table
 
-Alternatively, the mailbox may be specified as a file name of the
-mailbox to use.  This is equivalent to specifying the @samp{file} protocol:
+  Alternatively, you can specify the file name of the mailbox to use.
+This is equivalent to specifying the @samp{file} protocol:
 
 @smallexample
-/var/spool/mail/user @equiv{} file://var/spool/mail/user
+/var/spool/mail/@var{user} @equiv{} file://var/spool/mail/@var{user}
 @end smallexample
 
 @vindex rmail-movemail-program
 @vindex rmail-movemail-search-path
- To determine which version of @code{movemail} is being used, Rmail
-examines the value of @code{rmail-movemail-program} variable.  If it
-is set, its value is used as a full path to the @code{movemail} binary.
-Otherwise, Rmail searches for @code{movemail} in the list of directories
-constructed by appending the values of @code{rmail-movemail-search-path} and
-@code{exec-path} to @code{exec-directory}.  
-  
+  The variable @code{rmail-movemail-program} controls which version of
+@code{movemail} to use.  If that is a string, it specifies the
+absolute file name of the @code{movemail} executable.  If it is
+@code{nil}, Rmail searches for @code{movemail} in the directories
+listed in @code{rmail-movemail-search-path} and @code{exec-path}, then
+in @code{exec-directory}.
+
 @node Remote Mailboxes
 @section Retrieving Mail from Remote Mailboxes
 @pindex movemail
 
-
-@vindex rmail-preserve-inbox
-  When getting new mail, Rmail first copies the new mail from the inbox
-file to the Rmail file; then it saves the Rmail file; then it truncates
-the inbox file.  This way, a system crash may cause duplication of mail
-between the inbox and the Rmail file, but cannot lose mail.  If
-@code{rmail-preserve-inbox} is non-@code{nil}, then Rmail will copy new
-mail from the inbox file to the Rmail file without truncating the inbox
-file.  You may wish to set this, for example, on a portable computer you
-use to check your mail via POP while traveling, so that your mail will
-remain on the server and you can save it later on your workstation.
-
-  In some cases, Rmail copies the new mail from the inbox file
-indirectly.  First it runs the @code{movemail} program to move the mail
-from the inbox to an intermediate file called
-@file{~/.newmail-@var{inboxname}}.  Then Rmail merges the new mail from
-that file, saves the Rmail file, and only then deletes the intermediate
-file.  If there is a crash at the wrong time, this file continues to
-exist, and Rmail will use it again the next time it gets new mail from
-that inbox.
-
-  If Rmail is unable to convert the data in
-@file{~/.newmail-@var{inboxname}} into Babyl format, it renames the file
-to @file{~/RMAILOSE.@var{n}} (@var{n} is an integer chosen to make the
-name unique) so that Rmail will not have trouble with the data again.
-You should look at the file, find whatever message confuses Rmail
-(probably one that includes the control-underscore character, octal code
-037), and delete it.  Then you can use @kbd{1 g} to get new mail from
-the corrected file.
-
   Some sites use a method called POP for accessing users' inbox data
 instead of storing the data in inbox files.  The @code{Emacs
 movemail} can work with POP if you compile it with the macro
@@ -1319,11 +1332,11 @@ Additionally, you may specify the password in the mailbox @acronym{URL}:
 @samp{pop://@var{username}:@var{password}@@@var{hostname}}.  In this
 case, @var{password} takes preference over the one set by
 @code{rmail-remote-password}.  This is especially useful if you have
-several remote mailboxes with different passwords. 
+several remote mailboxes with different passwords.
 
   For backward compatibility Rmail also supports two alternative ways
 of specifying remote POP mailboxes.  Specifying inbox name in the form
-@samp{po:@var{username}:@var{hostname}} is equivalent to 
+@samp{po:@var{username}:@var{hostname}} is equivalent to
 @samp{pop://@var{username}@@@var{hostname}}.  Alternatively, you may set
 a ``file name'' of @samp{po:@var{username}} in the inbox list of an
 Rmail file.  @code{Movemail} will handle such a name by opening a
@@ -1335,7 +1348,7 @@ will in this case specify the machine to look for the server on.
 supported only by the @code{mailutils movemail}.  To specify an IMAP
 mailbox in the inbox list, use the following mailbox @acronym{URL}:
 @samp{imap://@var{username}[:@var{password}]@@@var{hostname}}.  The
-@var{password} part is optional, as descrbed above.
+@var{password} part is optional, as described above.
 
 @vindex rmail-remote-password
 @vindex rmail-remote-password-required
@@ -1345,13 +1358,17 @@ mailbox in the inbox list, use the following mailbox @acronym{URL}:
 following algorithm to retrieve it:
 
 @enumerate
-@item If the @var{password} is present in mailbox URL (see above), it
-is used.
-@item If the variable @code{rmail-remote-password} is
-non-@code{nil}, its value is used.
-@item Otherwise, if @code{rmail-remote-password-required} is
-non-@code{nil}, then Rmail will ask you for the password to use.
-@item Otherwise Rmail assumes no password is required.
+@item
+If the @var{password} is present in mailbox URL (see above), it is
+used.
+@item
+If the variable @code{rmail-remote-password} is non-@code{nil}, its
+value is used.
+@item
+Otherwise, if @code{rmail-remote-password-required} is non-@code{nil},
+then Rmail will ask you for the password to use.
+@item
+Otherwise, Rmail assumes no password is required.
 @end enumerate
 
   For compatibility with previous versions, @code{rmail-pop-password}