/usr/share/doc/vm/html/Saving-Messages.html is in vm 8.2.0b-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.0, http://www.gnu.org/software/texinfo/ -->
<head>
<title>VM User’s Manual: Saving Messages</title>
<meta name="description" content="VM User’s Manual: Saving Messages">
<meta name="keywords" content="VM User’s Manual: Saving Messages">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="License.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Deleting-Messages.html#Deleting-Messages" rel="next" title="Deleting Messages">
<link href="Sending-Messages.html#Saving-copies" rel="prev" title="Saving copies">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space: nowrap}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: serif; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="Saving-Messages"></a>
<div class="header">
<p>
Next: <a href="Deleting-Messages.html#Deleting-Messages" accesskey="n" rel="next">Deleting Messages</a>, Previous: <a href="Sending-Messages.html#Sending-Messages" accesskey="p" rel="prev">Sending Messages</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="License.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<a name="Saving-Messages-1"></a>
<h2 class="chapter">5 Saving Messages</h2>
<a name="index-file-locking-1"></a>
<p>Mail messages are normally saved to files that contain only mail
messages. Such files are called <em>folders</em>. Folders are
distinguished from spool files in that VM does not expect other
programs to modify them while VM is visiting them. This is
important to remember. VM does no locking of folders when
visiting them. If the disk copy of a folder is modified behind
VM’s back, Emacs will complain with the dreaded “File changed
on disk” message when you try to save the folder.
</p>
<a name="index-vm_002dsave_002dmessage"></a>
<a name="index-s"></a>
<p>The VM command to save a message to a folder is <kbd>s</kbd>
(<code>vm-save-message</code>); invoking this command causes the current
message to be saved to a folder whose name you specify in the
minibuffer. It can be given a prefix argument <var>n</var> to indicate how
many messages should be saved. Messages saved with
<code>vm-save-message</code> are flagged “filed”.
</p>
<a name="index-vm_002dfolder_002ddirectory-3"></a>
<a name="index-vm_002dthunderbird_002dfolder_002ddirectory-1"></a>
<p>Messages can be saved to folders on the local file system or to
folders on an <acronym>IMAP</acronym> server.
If <code>vm-folder-directory</code> is set, <code>vm-save-message</code> will
insert this directory name into the minibuffer before prompting you
for a folder name; this will save you some typing. If
<code>vm-thunderbird-folder-directory</code> is set and you enter a Thunderbird
folder using <code>vm-visit-thunderbird-folder</code>, then that directory
will be the default place for saving messages.
</p>
<a name="index-vm_002dauto_002dfolder_002dalist"></a>
<p>Another aid to selecting folders in which to save mail is the variable
<code>vm-auto-folder-alist</code>, described in detail below. Using the data
given in this alist, VM can examine the headers of the message and
automatically suggest an appropriate save folder where the message
should be saved.
</p>
<a name="index-vm_002dimap_002dsave_002dto_002dserver"></a>
<a name="index-IMAP-2"></a>
<p>If you use an <acronym>IMAP</acronym> server and prefer to save messages on other folders
on the same <acronym>IMAP</acronym> server, you can set the variable
<code>vm-imap-save-to-server</code> to t. You will be prompted for the name
of the <acronym>IMAP</acronym> folder in which to save the message. The variable
<code>vm-auto-folder-alist</code> can also be used to suggest appropriate save
folders on the <acronym>IMAP</acronym> server.
</p>
<a name="index-vm_002dsave_002dmessage_002dto_002dlocal_002dfolder"></a>
<a name="index-vm_002dsave_002dmessage_002dto_002dimap_002dfolder"></a>
<p>You can override the effect of <code>vm-imap-save-to-server</code> by using
the specialized commands <code>vm-save-message-to-local-folder</code>
and <code>vm-save-message-to-imap-folder</code>, which do what their names
indicate.
</p>
<a name="index-vm_002dconfirm_002dnew_002dfolders"></a>
<p>If the value of the variable <code>vm-confirm-new-folders</code> is
non-<code>nil</code>, VM will ask for confirmation before creating a new
folder on interactive saves.
</p>
<a name="index-vm_002dvisit_002dwhen_002dsaving"></a>
<p>VM can save messages to a folder in two distinct ways. The message can be
appended directly to the folder on disk, or the folder can be visited as
Emacs would visit any other file and the message appended to that
buffer. In the latter method you must save the buffer yourself to change
the on-disk copy of the folder. The variable <code>vm-visit-when-saving</code>
controls which method is used. A value of <code>t</code> causes VM to always
visit a folder before saving message to it. A <code>nil</code> value causes VM
to always append directly to the folder file. In this case VM will not
save messages to the disk copy of a folder that is being visited. This
restriction is necessary to insure that the buffer and on-disk copies of
the folder are consistent. If the value of <code>vm-visit-when-saving</code> is
not <code>nil</code> and not <code>t</code> (e.g. 0, the default), VM will append to
the folder’s buffer if the buffer is currently being visited, otherwise VM
will append to the file itself.
</p>
<a name="index-vm_002ddelete_002dafter_002dsaving"></a>
<a name="index-vm_002ddelete_002dafter_002darchiving"></a>
<p>After a message is saved to a folder, the usual thing to do next is to
delete it. If the variable <code>vm-delete-after-saving</code> is
non-<code>nil</code>, VM will flag messages for deletion automatically after
saving them. This applies only to saves to folders, not for the <kbd>w</kbd>
command. There is a separate variable
<code>vm-delete-after-archiving</code>, which
works like <code>vm-delete-after-saving</code> but applies to the <kbd>A</kbd>
(<code>vm-auto-archive-messages</code>) command (see below).
</p>
<a name="vm_002dauto_002dfolder_002dalist"></a>
<h3 class="unnumberedsec">vm-auto-folder-alist</h3>
<a name="index-vm_002dauto_002dfolder_002dalist-1"></a>
<p>The variable <code>vm-auto-folder-alist</code> is used to specify
pattern-matching rules by which VM can determine an appropriate folder
in which to save a message. The value of this variable should be a
list of the form:
</p>
<div class="display">
<pre class="display">((<var>header-name</var>
(<var>regexp</var> . <var>folder-name</var>) ...)
...)
</pre></div>
<p>where <var>header-name</var> and <var>regexp</var> are strings, and
<var>folder-name</var> is a string or an s-expression that evaluates to a
string. The value of <var>folder-name</var> can be
</p>
<ul>
<li> the absolute path name of a local folder,
</li><li> a relative path name – relative to <code>vm-folder-directory</code> or the
<code>default-directory</code> of the currently visited folder, whichever is
non-nil, or
</li><li> the maildrop specification of an <acronym>IMAP</acronym> folder.
</li></ul>
<p>If any part of the contents of the message header named by
<var>header-name</var> is matched by the regular expression
<var>regexp</var>, VM will evaluate the corresponding
<var>folder-name</var> and use the result as the default when
prompting for a folder to save the message in.
</p>
<p>When <var>folder-name</var> is evaluated, the current buffer will contain only
the contents of the header named by <var>header-name</var>. It is safe to
modify this buffer. You can use the match data from any ‘<samp>\( …
\)</samp>’ grouping constructs in <var>regexp</var> along with the function
<code>buffer-substring</code> to build a folder name based on the header information.
If the result of evaluating <var>folder-name</var> is a list, then the list will
be treated as another auto-folder-alist and will be descended
recursively.
</p>
<a name="index-vm_002dauto_002dfolder_002dcase_002dfold_002dsearch"></a>
<p>Whether matching is case-sensitive depends on the value of the variable
<code>vm-auto-folder-case-fold-search</code>. A non-<code>nil</code> value makes
matching case-insensitive. The default value is <code>t</code>, which means
matching is case-insensitive. Note that the matching of header names is
always case-insensitive because the Internet message standard RFC 822
specifies that header names are case indistinct.
</p>
<a name="Other-commands"></a>
<h4 class="unnumberedsubsec">Other commands</h4>
<dl compact="compact">
<dd><a name="index-vm_002dsave_002dmessage_002dsans_002dheaders"></a>
</dd>
<dt><kbd>M-x vm-save-message-sans-headers</kbd></dt>
<dd><p>Saves a message or messages to a file without their headers. This
command responds to a prefix argument exactly as <code>vm-save-message</code>
does. Messages saved this way are flagged “written”.
<a name="index-vm_002dauto_002darchive_002dmessages"></a>
<a name="index-A"></a>
</p></dd>
<dt><kbd>A (<code>vm-auto-archive-messages</code>)</kbd></dt>
<dd><p>Save all unfiled messages that auto-match a folder via
<code>vm-auto-folder-alist</code> to their appropriate folders. Messages that
are flagged for deletion are not saved by this command. If invoked with a
prefix argument, confirmation will be requested for each save.
<a name="index-vm_002dpipe_002dmessage_002dto_002dcommand"></a>
<a name="index-_007c_007c"></a>
</p></dd>
<dt><kbd>|| (<code>vm-pipe-message-to-command</code>)</kbd></dt>
<dd><p>Runs a shell command with some or all of the current message as input.
By default, the entire message is used. However, the leading and
trailing message separator lines are not included. When applied to
multiple messages, the command is invoked on each message individually.<br>
If invoked with one <tt>C-u</tt> the text portion of the message is used.<br>
If invoked with two <tt>C-u</tt>’s the header portion of the message is used.<br>
In invoked with three <tt>C-u</tt>’s the visible headers and the text
portions of the message are used.<br>
If the shell command generates any output, it is displayed in a
‘<samp>*Shell Command Output*</samp>’ buffer. The message itself is not altered.
<a name="index-vm_002dpipe_002dmessage_002dto_002dcommand_002ddiscard_002doutput"></a>
<a name="index-_007cd"></a>
</p></dd>
<dt><kbd>|d (<code>vm-pipe-message-to-command-discard-output</code>)</kbd></dt>
<dd><p>Runs a shell command with some or all of the current message as input,
like the above, but will not display the output.
<a name="index-vm_002dpipe_002dmessages_002dto_002dcommand"></a>
<a name="index-vm_002dpipe_002dmessages_002dto_002dcommand_002dstart"></a>
<a name="index-vm_002dpipe_002dmessages_002dto_002dcommand_002dend"></a>
<a name="index-_007cs"></a>
</p></dd>
<dt><kbd>|s (<code>vm-pipe-messages-to-command</code>)</kbd></dt>
<dd><p>Runs a shell command using as input the current message or marked
messages in the mbox format. In contrast to
<code>vm-pipe-message-to-command</code>, the leading and trailing separator
lines are included. This behaviour can be altered using the variables
<code>vm-pipe-messages-to-command-start</code> and
<code>vm-pipe-messages-to-command-end</code>.
<a name="index-vm_002dpipe_002dmessages_002dto_002dcommand_002ddiscard_002doutput"></a>
<a name="index-_007cn"></a>
</p></dd>
<dt><kbd>|n (<code>vm-pipe-messages-to-command-discard-output</code>)</kbd></dt>
<dd><p>Runs a shell command using as input the current message or marked
messages in the mbox format, but will not display the output.
</p></dd>
</dl>
<a name="index-vm_002dberkeley_002dmail_002dcompatibility"></a>
<p>A non-<code>nil</code> value of <code>vm-berkeley-mail-compatibility</code>
means to read and write BSD <i>Mail(1)</i> style Status: headers.
This makes sense if you plan to use VM to read mail archives
created by <i>Mail</i>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Deleting-Messages.html#Deleting-Messages" accesskey="n" rel="next">Deleting Messages</a>, Previous: <a href="Sending-Messages.html#Sending-Messages" accesskey="p" rel="prev">Sending Messages</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="License.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|