Mercurial > hg > xemacs-beta
comparison man/rmail.texi @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 \input texinfo @comment -*-Texinfo-*- | |
2 @setfilename ../info/rmail.info | |
3 @settitle Rmail User's Manual | |
4 @iftex | |
5 @finalout | |
6 @end iftex | |
7 @c @setchapternewpage odd % For book style double sided manual. | |
8 @c @smallbook | |
9 @tex | |
10 \overfullrule=0pt | |
11 %\global\baselineskip 30pt % For printing in double spaces | |
12 @end tex | |
13 @ifinfo | |
14 This file documents the Rmail mail reader. | |
15 | |
16 Copyright (C) 1991 Free Software Foundation | |
17 | |
18 Permission is granted to make and distribute verbatim copies of | |
19 this manual provided the copyright notice and this permission notice | |
20 are preserved on all copies. | |
21 | |
22 @ignore | |
23 Permission is granted to process this file through Tex and print the | |
24 results, provided the printed document carries copying permission | |
25 notice identical to this one except for the removal of this paragraph | |
26 (this paragraph not being relevant to the printed manual). | |
27 | |
28 @end ignore | |
29 @end ifinfo | |
30 @c | |
31 @titlepage | |
32 @sp 6 | |
33 @center @titlefont{Rmail User's Manual} | |
34 @sp 10 | |
35 @center Free Software Foundation | |
36 @page | |
37 @vskip 0pt plus 1filll | |
38 Copyright @copyright{} 1991 Free Software Foundation | |
39 | |
40 Permission is granted to make and distribute verbatim copies of | |
41 this manual provided the copyright notice and this permission notice | |
42 are preserved on all copies. | |
43 | |
44 @end titlepage | |
45 @page | |
46 | |
47 @node Top, Rmail Scrolling,, (DIR) | |
48 | |
49 NOTE: The recommended mail reader in XEmacs is VM, which provides more | |
50 flexibility than Rmail and stores mail in standard Unix-mail-format | |
51 folders rather than in a special format. VM comes with its own | |
52 manual, included standard with XEmacs. | |
53 | |
54 XEmacs also provides a sophisticated and comfortable front-end to the | |
55 MH mail-processing system, called @samp{mh-e}. | |
56 | |
57 This manual documents the Rmail mail reader under Emacs. | |
58 | |
59 Rmail is an Emacs subsystem for reading and disposing of mail that you | |
60 receive. Rmail stores mail messages in files called Rmail files. You read | |
61 the messages in an Rmail file in a special major mode, Rmail mode, | |
62 which redefines most letters to run commands for managing mail. To enter | |
63 Rmail, type @kbd{M-x rmail}. This reads your primary mail file, merges | |
64 new mail in from your inboxes, displays the first new message, and lets | |
65 you begin reading. | |
66 | |
67 @cindex primary mail file | |
68 Using Rmail in the simplest fashion, you have one Rmail file, | |
69 @file{~/RMAIL}, in which all of your mail is saved. It is called your | |
70 @dfn{primary mail file}. You can also copy messages into other Rmail | |
71 files and then edit those files with Rmail. | |
72 | |
73 Rmail displays only one message at a time. It is called the | |
74 @dfn{current message}. Rmail mode's special commands can move to | |
75 another message, delete the message, copy the message into another file, | |
76 or send a reply. | |
77 | |
78 @cindex message number | |
79 Within the Rmail file, messages are arranged sequentially in order | |
80 of receipt. They are also assigned consecutive integers as their | |
81 @dfn{message numbers}. The number of the current message is displayed | |
82 in Rmail's mode line, followed by the total number of messages in the | |
83 file. You can move to a message by specifying its message number | |
84 using the @kbd{j} key (@pxref{Rmail Motion}). | |
85 | |
86 @kindex s (Rmail) | |
87 @findex rmail-save | |
88 Following the usual conventions of Emacs, changes in an Rmail file become | |
89 permanent only when the file is saved. You can do this with @kbd{s} | |
90 (@code{rmail-save}), which also expunges deleted messages from the file | |
91 first (@pxref{Rmail Deletion}). To save the file without expunging, use | |
92 @kbd{C-x C-s}. Rmail saves the Rmail file automatically when moving new | |
93 mail from an inbox file (@pxref{Rmail Inbox}). | |
94 | |
95 @kindex q (Rmail) | |
96 @findex rmail-quit | |
97 You can exit Rmail with @kbd{q} (@code{rmail-quit}); this expunges and | |
98 saves the Rmail file and then switches to another buffer. However, there is | |
99 no need to `exit' formally. If you switch from Rmail to editing in | |
100 other buffers, and never happen to switch back, you have exited. Just | |
101 make sure to save the Rmail file eventually (like any other file you | |
102 have changed). @kbd{C-x s} is a good enough way to do this. | |
103 | |
104 @menu | |
105 * Scroll: Rmail Scrolling. Scrolling through a message. | |
106 * Motion: Rmail Motion. Moving to another message. | |
107 * Deletion: Rmail Deletion. Deleting and expunging messages. | |
108 * Inbox: Rmail Inbox. How mail gets into the Rmail file. | |
109 * Files: Rmail Files. Using multiple Rmail files. | |
110 * Output: Rmail Output. Copying message out to files. | |
111 * Labels: Rmail Labels. Classifying messages by labeling them. | |
112 * Summary: Rmail Summary. Summaries show brief info on many messages. | |
113 * Reply: Rmail Reply. Sending replies to messages you are viewing. | |
114 * Editing: Rmail Editing. Editing message text and headers in Rmail. | |
115 * Digest: Rmail Digest. Extracting the messages from a digest message. | |
116 @end menu | |
117 | |
118 @node Rmail Scrolling, Rmail Motion, Top, Top | |
119 @chapter Scrolling Within a Message | |
120 | |
121 When Rmail displays a message that does not fit on the screen, you | |
122 have to scroll through it. You could use @kbd{C-v}, @kbd{M-v}, | |
123 and @kbd{M-<}, but scrolling is so frequent in Rmail that it deserves to be | |
124 easier to type. | |
125 | |
126 @table @kbd | |
127 @item @key{SPC} | |
128 Scroll forward (@code{scroll-up}). | |
129 @item @key{DEL} | |
130 Scroll backward (@code{scroll-down}). | |
131 @item . | |
132 Scroll to start of message (@code{rmail-beginning-of-message}). | |
133 @end table | |
134 | |
135 @kindex SPC (Rmail) | |
136 @kindex DEL (Rmail) | |
137 Since the most common thing to do while reading a message is to scroll | |
138 through it by screenfuls, Rmail makes @key{SPC} and @key{DEL} synonyms of | |
139 @kbd{C-v} (@code{scroll-up}) and @kbd{M-v} (@code{scroll-down}) | |
140 | |
141 @kindex . (Rmail) | |
142 @findex rmail-beginning-of-message | |
143 The command @kbd{.} (@code{rmail-beginning-of-message}) scrolls back to the | |
144 beginning of a selected message. This is not quite the same as @kbd{M-<}: | |
145 first, it does not set the mark; secondly, it resets the buffer | |
146 boundaries to the current message if you have changed them. | |
147 | |
148 @node Rmail Motion, Rmail Deletion, Rmail Scrolling, Top | |
149 @chapter Moving Among Messages | |
150 | |
151 The most basic thing to do with a message is to read it. The way to | |
152 do this in Rmail is to make the message current. You can make any | |
153 message current, given its message number, by using the @kbd{j} command, but | |
154 people most often move sequentially through the file, since this is the | |
155 order of receipt of messages. When you enter Rmail, you are positioned | |
156 at the first new message (new messages are those received after you last | |
157 used Rmail), or at the last message if there are no new messages this | |
158 time. Move forward to see other new messages if there are any; move | |
159 backward to re-examine old messages. | |
160 | |
161 @table @kbd | |
162 @item n | |
163 Move to the next non-deleted message, skipping any intervening deleted @* | |
164 messages (@code{rmail-next-undeleted-message}). | |
165 @item p | |
166 Move to the previous non-deleted message @* | |
167 (@code{rmail-previous-undeleted-message}). | |
168 @item M-n | |
169 Move to the next message, including deleted messages | |
170 (@code{rmail-next-message}). | |
171 @item M-p | |
172 Move to the previous message, including deleted messages | |
173 (@code{rmail-previous-message}). | |
174 @item j | |
175 Move to the first message. With argument @var{n}, move to | |
176 message number @var{n} (@code{rmail-show-message}). | |
177 @item > | |
178 Move to the last message (@code{rmail-last-message}). | |
179 | |
180 @item M-s @var{regexp} @key{RET} | |
181 Move to the next message containing a match for @var{regexp} | |
182 (@code{rmail-search}). If @var{regexp} is empty, the last regexp used is | |
183 used again. | |
184 | |
185 @item - M-s @var{regexp} @key{RET} | |
186 Move to the previous message containing a match for @var{regexp}. | |
187 If @var{regexp} is empty, the last regexp used is used again. | |
188 @end table | |
189 | |
190 @kindex n (Rmail) | |
191 @kindex p (Rmail) | |
192 @kindex M-n (Rmail) | |
193 @kindex M-p (Rmail) | |
194 @findex rmail-next-undeleted-message | |
195 @findex rmail-previous-undeleted-message | |
196 @findex rmail-next-message | |
197 @findex rmail-previous-message | |
198 To move among messages in Rmail, you can use @kbd{n} and @kbd{p}. | |
199 These keys move through the messages sequentially but skip over deleted | |
200 messages, which is usually what you want to do. Their command | |
201 definitions are named @code{rmail-next-undeleted-message} and | |
202 @code{rmail-previous-undeleted-message}. If you do not want to skip | |
203 deleted messages---for example, if you want to move to a message to | |
204 undelete it---use the variants @kbd{M-n} (@code{rmail-next-message}) and | |
205 @kbd{M-p} (@code{rmail-previous-message}). A numeric argument to any of | |
206 these commands serves as a repeat count.@refill | |
207 | |
208 In Rmail, you can specify a numeric argument by just typing the digits. | |
209 It is not necessary to type @kbd{C-u} first. | |
210 | |
211 @kindex M-s (Rmail) | |
212 @findex rmail-search | |
213 The @kbd{M-s} (@code{rmail-search}) command is Rmail's version of | |
214 search. The usual incremental search command @kbd{C-s} works in Rmail, | |
215 but searches only within the current message. The purpose of @kbd{M-s} | |
216 is to search for another message. It reads a regular expression | |
217 non-incrementally, then starts searching at the beginning of the | |
218 following message for a match. The message containing the match is | |
219 selected. | |
220 | |
221 To search backward in the file for another message, give @kbd{M-s} a | |
222 negative argument. In Rmail you can do this with @kbd{- M-s}. | |
223 | |
224 It is also possible to search for a message based on labels. | |
225 @xref{Rmail Labels}. | |
226 | |
227 @kindex j (Rmail) | |
228 @kindex > (Rmail) | |
229 @findex rmail-show-message | |
230 @findex rmail-last-message | |
231 To move to a message specified by absolute message number, use @kbd{j} | |
232 (@code{rmail-show-message}) with the message number as argument. With | |
233 no argument, @kbd{j} selects the first message. @kbd{>} | |
234 (@code{rmail-last-message}) selects the last message. | |
235 | |
236 @node Rmail Deletion, Rmail Inbox, Rmail Motion, Top | |
237 @chapter Deleting Messages | |
238 | |
239 @cindex deletion (Rmail) | |
240 When you no longer need to keep a message, you can @dfn{delete} it. This | |
241 flags it as ignorable, and some Rmail commands will pretend it is no longer | |
242 present, but it still has its place in the Rmail file and still has its | |
243 message number. | |
244 | |
245 @cindex expunging (Rmail) | |
246 @dfn{Expunging} the Rmail file actually removes the deleted messages. | |
247 The remaining messages are renumbered consecutively. Expunging is the only | |
248 action that changes the message number of any message, except for | |
249 undigestifying (@pxref{Rmail Digest}). | |
250 | |
251 @table @kbd | |
252 @item d | |
253 Delete the current message and move to the next non-deleted message | |
254 (@code{rmail-delete-forward}). | |
255 @item C-d | |
256 Delete the current message and move to the previous non-deleted | |
257 message (@code{rmail-delete-backward}). | |
258 @item u | |
259 Undelete the current message, or move back to a deleted message and | |
260 undelete it (@code{rmail-undelete-previous-message}). | |
261 @item e | |
262 @itemx x | |
263 Expunge the Rmail file (@code{rmail-expunge}). These two | |
264 commands are synonyms. | |
265 @end table | |
266 | |
267 @kindex d (Rmail) | |
268 @kindex C-d (Rmail) | |
269 @findex rmail-delete-forward | |
270 @findex rmail-delete-backward | |
271 There are two Rmail commands for deleting messages. Both delete the | |
272 current message and select another message. @kbd{d} | |
273 (@code{rmail-delete-forward}) moves to the following message, skipping | |
274 messages already deleted, while @kbd{C-d} (@code{rmail-delete-backward}) | |
275 moves to the previous non-deleted message. If there is no non-deleted | |
276 message to move to in the specified direction, the message that was just | |
277 deleted remains current. | |
278 | |
279 @cindex undeletion (Rmail) | |
280 @kindex e (Rmail) | |
281 @findex rmail-expunge | |
282 To make all deleted messages disappear from the Rmail file, type | |
283 @kbd{e} (@code{rmail-expunge}). Until you do this, you can still | |
284 @dfn{undelete} the deleted messages. | |
285 | |
286 @kindex u (Rmail) | |
287 @findex rmail-undelete-previous-message | |
288 To undelete, type | |
289 @kbd{u} (@code{rmail-undelete-previous-message}), which cancels the | |
290 effect of a @kbd{d} command (usually). It undeletes the current message | |
291 if the current message is deleted. Otherwise it moves backward to previous | |
292 messages until a deleted message is found, and undeletes that message. | |
293 | |
294 You can usually undo a @kbd{d} with a @kbd{u} because the @kbd{u} | |
295 moves back to and undeletes the message that the @kbd{d} deleted. This | |
296 does not work when the @kbd{d} skips a few already-deleted messages that | |
297 follow the message being deleted; in that case the @kbd{u} command | |
298 undeletes the last of the messages that were skipped. There is no clean | |
299 way to avoid this problem. However, by repeating the @kbd{u} command, | |
300 you can eventually get back to the message you intended to | |
301 undelete. You can also reach that message with @kbd{M-p} commands and | |
302 then type @kbd{u}.@refill | |
303 | |
304 A deleted message has the @samp{deleted} attribute, and as a result | |
305 @samp{deleted} appears in the mode line when the current message is | |
306 deleted. In fact, deleting or undeleting a message is nothing more than | |
307 adding or removing this attribute. @xref{Rmail Labels}. | |
308 | |
309 @node Rmail Inbox, Rmail Files, Rmail Deletion, Top | |
310 @chapter Rmail Files and Inboxes | |
311 @cindex inbox file | |
312 | |
313 Unix places your incoming mail in a file called your @dfn{inbox}. | |
314 When you start up Rmail, it copies the new messages from your inbox into | |
315 your primary mail file, an Rmail file which also contains other messages | |
316 saved from previous Rmail sessions. In this file, you actually | |
317 read the mail with Rmail. The operation is called @dfn{getting new mail}. | |
318 You can repeat it at any time using the @kbd{g} key in Rmail. The inbox | |
319 file name is @file{/usr/spool/mail/@var{username}} in Berkeley Unix, | |
320 @file{/usr/mail/@var{username}} in system V. | |
321 | |
322 There are two reason for having separate Rmail files and inboxes. | |
323 | |
324 @enumerate | |
325 @item | |
326 The format in which Unix delivers the mail in the inbox is not | |
327 adequate for Rmail mail storage. It has no way to record attributes | |
328 (such as @samp{deleted}) or user-specified labels; it has no way to record | |
329 old headers and reformatted headers; it has no way to record cached | |
330 summary line information. | |
331 | |
332 @item | |
333 It is very cumbersome to access an inbox file without danger of losing | |
334 mail, because it is necessary to interlock with mail delivery. | |
335 Moreover, different Unix systems use different interlocking | |
336 techniques. The strategy of moving mail out of the inbox once and for | |
337 all into a separate Rmail file avoids the need for interlocking in all | |
338 the rest of Rmail, since only Rmail operates on the Rmail file. | |
339 @end enumerate | |
340 | |
341 When getting new mail, Rmail first copies the new mail from the inbox | |
342 file to the Rmail file and saves the Rmail file. It then deletes the | |
343 inbox file. This way a system crash may cause duplication of mail between | |
344 the inbox and the Rmail file, but it cannot lose mail. | |
345 | |
346 Copying mail from an inbox in the system's mailer directory actually puts | |
347 it in an intermediate file, @file{~/.newmail}. This is because the | |
348 interlocking is done by a C program that copies to another file. | |
349 @file{~/.newmail} is deleted after mail merging is successful. If there is | |
350 a crash at the wrong time, this file will continue to exist and will be | |
351 used as an inbox the next time you get new mail. | |
352 | |
353 @node Rmail Files, Rmail Output, Rmail Inbox, Top | |
354 @chapter Multiple Mail Files | |
355 | |
356 Rmail operates by default on your @dfn{primary mail file}, which is | |
357 named @file{~/RMAIL} and which receives your incoming mail from your | |
358 system inbox file. You can also have other mail files and edit them with | |
359 Rmail. These files can receive mail through their own inboxes, or you | |
360 can move messages into them by explicit command in Rmail (@pxref{Rmail | |
361 Output}). | |
362 | |
363 @table @kbd | |
364 @item i @var{file} @key{RET} | |
365 Read @var{file} into Emacs and run Rmail on it (@code{rmail-input}). | |
366 | |
367 @item M-x set-rmail-inbox-list @key{RET} @var{files} @key{RET} | |
368 Specify inbox file names for current Rmail file to get mail from. | |
369 | |
370 @item g | |
371 Merge new mail from current Rmail file's inboxes | |
372 (@code{rmail-get-new-mail}). | |
373 | |
374 @item C-u g @var{file} | |
375 Merge new mail from inbox file @var{file}. | |
376 @end table | |
377 | |
378 @kindex i (Rmail) | |
379 @findex rmail-input | |
380 To run Rmail on a file other than your primary mail file, you may use | |
381 the @kbd{i} (@code{rmail-input}) command in Rmail. This visits the | |
382 file, puts it in Rmail mode, and then gets new mail from the file's | |
383 inboxes if any. You can also use @kbd{M-x rmail-input} even when not in | |
384 Rmail. | |
385 | |
386 The file you read with @kbd{i} does not have to be in Rmail file format. | |
387 It could also be Unix mail format, mmdf format, or it could be a mixture | |
388 of all three, as long as each message has one of the three formats. | |
389 Rmail recognizes all three and converts all the messages to proper Rmail | |
390 format before showing you the file. | |
391 | |
392 @findex set-rmail-inbox-list | |
393 Each Rmail file can contain a list of inbox file names; you can specify | |
394 this list with @kbd{M-x set-rmail-inbox-list @key{RET} @var{files} | |
395 @key{RET}}. The argument can contain any number of file names, separated | |
396 by commas. It can also be empty, which specifies that this file should | |
397 have no inboxes. Once a list of inboxes is specified, the Rmail file | |
398 remembers it permanently until it is explicitly changed.@refill | |
399 | |
400 @kindex g (Rmail) | |
401 @findex rmail-get-new-mail | |
402 If an Rmail file has inboxes, new mail is merged in from the inboxes | |
403 when you bring the Rmail file into Rmail, and when you use the @kbd{g} | |
404 (@code{rmail-get-new-mail}) command. If the Rmail file | |
405 specifies no inboxes, then no new mail is merged in at these times. A | |
406 special exception is made for your primary mail file: Rmail uses the | |
407 standard system inbox for it if it does not specify an inbox. | |
408 | |
409 To merge mail from a file that is not the usual inbox, give the | |
410 @kbd{g} key a numeric argument, as in @kbd{C-u g}. Rmail prompts you | |
411 for a file name and merges mail from that file. The inbox file is not | |
412 deleted or changed at all when you use @kbd{g} with an argument, so this | |
413 is a general way of merging one file of messages into another. | |
414 | |
415 @node Rmail Output, Rmail Labels, Rmail Files, Top | |
416 @chapter Copying Messages Out to Files | |
417 | |
418 @table @kbd | |
419 @item o @var{file} @key{RET} | |
420 Append a copy of the current message to the file @var{file}, | |
421 writing it in Rmail file format (@code{rmail-output-to-rmail-file}). | |
422 | |
423 @item C-o @var{file} @key{RET} | |
424 Append a copy of the current message to the file @var{file}, | |
425 writing it in Unix mail file format (@code{rmail-output}). | |
426 @end table | |
427 | |
428 @kindex o (Rmail) | |
429 @findex rmail-output-to-rmail-file | |
430 @kindex C-o (Rmail) | |
431 @findex rmail-output | |
432 If an Rmail file has no inboxes, use explicit @kbd{o} commands to | |
433 write Rmail files. | |
434 | |
435 @kbd{o} (@code{rmail-output-to-rmail-file}) appends the current | |
436 message in Rmail format to the end of a specified file. This is the | |
437 best command to use to move messages between Rmail files. If you are | |
438 currently visiting the other Rmail file, copying is done into the other | |
439 file's Emacs buffer instead. You should eventually save the buffer on | |
440 disk. | |
441 | |
442 The @kbd{C-o} (@code{rmail-output}) command in Rmail appends a copy of | |
443 the current message to a specified file, in Unix mail file format. This | |
444 is useful for moving messages into files to be read by other mail | |
445 processors that do not understand Rmail format. | |
446 | |
447 Copying a message with @kbd{o} or @kbd{C-o} gives the original copy of the | |
448 message the @samp{filed} attribute. @samp{filed} appears in the mode | |
449 line when such a message is current. | |
450 | |
451 Normally you should use only @kbd{o} to output messages to other Rmail | |
452 files, never @kbd{C-o}. But it is also safe if you always use | |
453 @kbd{C-o}, never @kbd{o}. When a file is visited in Rmail, the last | |
454 message is checked, and if it is in Unix format, the entire file is | |
455 scanned and all Unix-format messages are converted to Rmail format. | |
456 (The reason for checking the last message is that scanning the file is | |
457 slow and most Rmail files have only Rmail format messages.) If you use | |
458 @kbd{C-o} consistently, the last message is guaranteed to be in Unix | |
459 format, so Rmail will convert all messages properly. | |
460 | |
461 When you and other users want to append mail to the same file, you | |
462 probably always want to use @kbd{C-o} instead of @kbd{o}. Other mail | |
463 processors may not know Rmail format but will know Unix format. | |
464 | |
465 In any case, always use @kbd{o} to add to an Rmail file that is being | |
466 visited in Rmail. Adding messages with @kbd{C-o} to the actual disk file | |
467 will trigger a ``simultaneous editing'' warning when you ask to save the | |
468 Emacs buffer, and the messages will be lost if you do save. | |
469 | |
470 @node Rmail Labels, Rmail Summary, Rmail Output, Top | |
471 @chapter Labels | |
472 @cindex label (Rmail) | |
473 @cindex attribute (Rmail) | |
474 | |
475 Each message can have various @dfn{labels} assigned to it as a means of | |
476 classification. A label has a name; different names mean different labels. | |
477 Any given label is either present or absent on a particular message. A few | |
478 label names have standard meanings and are given to messages automatically | |
479 by Rmail when appropriate; these special labels are called @dfn{attributes}. | |
480 All other labels are assigned by the user. | |
481 | |
482 @table @kbd | |
483 @item a @var{label} @key{RET} | |
484 Assign the label @var{label} to the current message (@code{rmail-add-label}). | |
485 @item k @var{label} @key{RET} | |
486 Remove the label @var{label} from the current message (@code{rmail-kill-label}). | |
487 @item C-M-n @var{labels} @key{RET} | |
488 Move to the next message that has one of the labels @var{labels} | |
489 (@code{rmail-next-labeled-message}). | |
490 @item C-M-p @var{labels} @key{RET} | |
491 Move to the previous message that has one of the labels @var{labels} | |
492 (@code{rmail-previous-labeled-message}). | |
493 @item C-M-l @var{labels} @key{RET} | |
494 Make a summary of all messages containing any of the labels @var{labels} | |
495 (@code{rmail-summary-by-labels}). | |
496 @end table | |
497 | |
498 @noindent | |
499 Specifying an empty string for one these commands means to use the last | |
500 label specified for any of these commands. | |
501 | |
502 @kindex a (Rmail) | |
503 @kindex k (rmail) | |
504 @findex rmail-add-label | |
505 @findex rmail-kill-label | |
506 The @kbd{a} (@code{rmail-add-label}) and @kbd{k} | |
507 (@code{rmail-kill-label}) commands allow you to assign or remove any | |
508 label on the current message. If the @var{label} argument is empty, it | |
509 means to assign or remove the label most recently assigned or | |
510 removed. | |
511 | |
512 Once you have given messages labels to classify them as you wish, there | |
513 are two ways to use the labels: in moving and in summaries. | |
514 | |
515 @kindex C-M-n (Rmail) | |
516 @kindex C-M-p (Rmail) | |
517 @findex rmail-next-labeled-message | |
518 @findex rmail-previous-labeled-message | |
519 The command @kbd{C-M-n @var{labels} @key{RET}} | |
520 (@code{rmail-next-labeled-message}) moves to the next message that has one | |
521 of the labels @var{labels}. @var{labels} is one or more label names, | |
522 separated by commas. @kbd{C-M-p} (@code{rmail-previous-labeled-message}) | |
523 is similar, but moves backwards to previous messages. A preceding numeric | |
524 argument to either one serves as a repeat count.@refill | |
525 | |
526 @kindex C-M-l (Rmail) | |
527 @findex rmail-summary-by-labels | |
528 The command @kbd{C-M-l @var{labels} @key{RET}} | |
529 (@code{rmail-summary-by-labels}) displays a summary containing only the | |
530 messages that have at least one of a specified set of messages. The | |
531 argument @var{labels} is one or more label names, separated by commas. | |
532 @xref{Rmail Summary}, for information on summaries.@refill | |
533 | |
534 If the @var{labels} argument to @kbd{C-M-n}, @kbd{C-M-p} or | |
535 @kbd{C-M-l} is empty, it means to use the last set of labels specified | |
536 for any of these commands. | |
537 | |
538 Some labels such as @samp{deleted} and @samp{filed} have built-in | |
539 meanings and are assigned to or removed from messages automatically at | |
540 appropriate times; these labels are called @dfn{attributes}. Here is a | |
541 list of Rmail attributes: | |
542 | |
543 @table @samp | |
544 @item unseen | |
545 Means the message has never been current. Assigned to messages when | |
546 they come from an inbox file, and removed when a message is made | |
547 current. | |
548 @item deleted | |
549 Means the message is deleted. Assigned by deletion commands and | |
550 removed by undeletion commands (@pxref{Rmail Deletion}). | |
551 @item filed | |
552 Means the message has been copied to some other file. Assigned by the | |
553 file output commands (@pxref{Rmail Files}). | |
554 @item answered | |
555 Means you have mailed an answer to the message. Assigned by the @kbd{r} | |
556 command (@code{rmail-reply}). @xref{Rmail Reply}. | |
557 @item forwarded | |
558 Means you have forwarded the message to other users. Assigned by the | |
559 @kbd{f} command (@code{rmail-forward}). @xref{Rmail Reply}. | |
560 @item edited | |
561 Means you have edited the text of the message within Rmail. | |
562 @xref{Rmail Editing}. | |
563 @end table | |
564 | |
565 All other labels are assigned or removed only by the user, and it is up | |
566 to the user to decide what they mean. | |
567 | |
568 @node Rmail Summary, Rmail Reply, Rmail Labels, Top | |
569 @chapter Summaries | |
570 @cindex summary (Rmail) | |
571 | |
572 A @dfn{summary} is a buffer Rmail creates and displays to give you an | |
573 overview of the mail in an Rmail file. It contains one line per message; | |
574 each line shows the message number, the sender, the labels, and the | |
575 subject. When you select the summary buffer, you can use a number of | |
576 commands to select messages by moving in the summary buffer, or to | |
577 delete or undelete messages. | |
578 | |
579 A summary buffer applies to a single Rmail file only; if you are | |
580 editing multiple Rmail files, they have separate summary buffers. The | |
581 summary buffer name is generated by appending @samp{-summary} to the | |
582 Rmail buffer's name. Only one summary buffer is displayed at a | |
583 time unless you make several windows and select the summary buffers by | |
584 hand. | |
585 | |
586 @menu | |
587 * Rmail Make Summary:: Making various sorts of summaries. | |
588 * Rmail Summary Edit:: Manipulating messages from the summary. | |
589 @end menu | |
590 | |
591 @node Rmail Make Summary, Rmail Summary Edit, Rmail Summary, Rmail Summary | |
592 @section Making Summaries | |
593 | |
594 Here are the commands to create a summary for the current Rmail file. | |
595 Summaries do not update automatically; to make an updated summary, you | |
596 must use one of the commands again. | |
597 | |
598 @table @kbd | |
599 @item h | |
600 @itemx C-M-h | |
601 Summarize all messages (@code{rmail-summary}). | |
602 @item l @var{labels} @key{RET} | |
603 @itemx C-M-l @var{labels} @key{RET} | |
604 Summarize message that have one or more of the specified labels | |
605 (@code{rmail-summary-by-labels}). | |
606 @item C-M-r @var{rcpts} @key{RET} | |
607 Summarize messages that have one or more of the specified recipients | |
608 (@code{rmail-summary-by-recipients}). | |
609 @end table | |
610 | |
611 @kindex h (Rmail) | |
612 @findex rmail-summary | |
613 The @kbd{h} or @kbd{C-M-h} (@code{rmail-summary}) command fills the | |
614 summary buffer for the current Rmail file with a summary of all the | |
615 messages in the file. It then displays and selects the summary buffer | |
616 in another window. | |
617 | |
618 @kindex l (Rmail) | |
619 @kindex C-M-l (Rmail) | |
620 @findex rmail-summary-by-labels | |
621 The @kbd{l} or @kbd{C-M-l @var{labels} @key{RET}} | |
622 (@code{rmail-summary-by-labels}) makes | |
623 a partial summary mentioning only the messages that have one or more of the | |
624 labels @var{labels}. @var{labels} should contain label names separated by | |
625 commas.@refill | |
626 | |
627 @kindex C-M-r (Rmail) | |
628 @findex rmail-summary-by-recipients | |
629 @kbd{C-M-r @var{rcpts} @key{RET}} (@code{rmail-summary-by-recipients}) | |
630 makes a partial summary mentioning only the messages that have one or more | |
631 of the recipients @var{rcpts}. @var{rcpts} should contain mailing | |
632 addresses separated by commas.@refill | |
633 | |
634 Note that there is only one summary buffer for any Rmail file; making one | |
635 kind of summary discards any previously made summary. | |
636 | |
637 @node Rmail Summary Edit,, Rmail Make Summary, Rmail Summary | |
638 @section Editing in Summaries | |
639 | |
640 Summary buffers are given the major mode Rmail Summary mode, which | |
641 provides the following special commands: | |
642 | |
643 @table @kbd | |
644 @item j | |
645 Select the message described by the line that point is on | |
646 (@code{rmail-summary-goto-msg}). | |
647 @item C-n | |
648 Move to next line and select its message in Rmail | |
649 (@code{rmail-summary-next-all}). | |
650 @item C-p | |
651 Move to previous line and select its message | |
652 (@code{rmail-summary-@*previous-all}). | |
653 @item n | |
654 Move to next line, skipping lines saying `deleted', and select its | |
655 message (@code{rmail-summary-next-msg}). | |
656 @item p | |
657 Move to previous line, skipping lines saying `deleted', and select | |
658 its message (@code{rmail-summary-previous-msg}). | |
659 @item d | |
660 Delete the current line's message, then do like @kbd{n} | |
661 (@code{rmail-summary-delete-forward}). | |
662 @item u | |
663 Undelete and select this message or the previous deleted message in | |
664 the summary (@code{rmail-summary-undelete}). | |
665 @item @key{SPC} | |
666 Scroll the other window (presumably Rmail) forward | |
667 (@code{rmail-summary-scroll-msg-up}). | |
668 @item @key{DEL} | |
669 Scroll the other window backward (@code{rmail-summary-scroll-msg-down}). | |
670 @item x | |
671 Kill the summary window (@code{rmail-summary-exit}). | |
672 @item q | |
673 Exit Rmail (@code{rmail-summary-quit}). | |
674 @end table | |
675 | |
676 @kindex C-n (Rmail summary) | |
677 @kindex C-p (Rmail summary) | |
678 @findex rmail-summary-next-all | |
679 @findex rmail-summary-previous-all | |
680 The keys @kbd{C-n}(@code{rmail-summary-next-all}) and @kbd{C-p} | |
681 (@code{rmail-summary-previous-all}) are modified in Rmail Summary mode. | |
682 In addition to moving point in the summary buffer, they also cause the | |
683 line's message to become current in the associated Rmail buffer. That | |
684 buffer is also made visible in another window if it is not currently | |
685 visible. | |
686 | |
687 @kindex n (Rmail summary) | |
688 @kindex p (Rmail summary) | |
689 @findex rmail-summary-next-msg | |
690 @findex rmail-summary-previous-msg | |
691 @kbd{n} and @kbd{p} are similar to @kbd{C-n} and @kbd{C-p}, but skip | |
692 lines that say `message deleted'. They are like the @kbd{n} and @kbd{p} | |
693 keys of Rmail itself. Note, however, that in a partial summary these | |
694 commands move only among the message listed in the summary.@refill | |
695 | |
696 @kindex j (Rmail summary) | |
697 @findex rmail-summary-goto-msg | |
698 The other Emacs cursor motion commands are not changed in Rmail | |
699 Summary mode, so it is easy to get the point on a line whose message is | |
700 not selected in Rmail. This can also happen if you switch to the Rmail | |
701 window and switch messages there. To get the Rmail buffer back in sync | |
702 with the summary, use the @kbd{j} (@code{rmail-summary-goto-msg}) | |
703 command, which selects the message of the current summary line in Rmail. | |
704 | |
705 @kindex d (Rmail summary) | |
706 @kindex u (Rmail summary) | |
707 @findex rmail-summary-delete-forward | |
708 @findex rmail-summary-undelete | |
709 Deletion and undeletion can also be done from the summary buffer. | |
710 They always work based on where point is located in the summary buffer, | |
711 ignoring which message is selected in Rmail. @kbd{d} | |
712 (@code{rmail-summary-delete-forward}) deletes the current line's | |
713 message, then moves to the next line whose message is not deleted and | |
714 selects that message. The inverse is @kbd{u} | |
715 (@code{rmail-summary-undelete}), which moves back (if necessary) to a | |
716 line whose message is deleted, undeletes that message, and selects it in | |
717 Rmail. | |
718 | |
719 @kindex SPC (Rmail summary) | |
720 @kindex DEL (Rmail summary) | |
721 @findex rmail-summary-scroll-msg-down | |
722 @findex rmail-summary-scroll-msg-up | |
723 When moving through messages with the summary buffer, it is convenient | |
724 to be able to scroll the message while remaining in the summary window. | |
725 The commands @key{SPC} (@code{rmail-summary-scroll-msg-up}) and | |
726 @key{DEL} (@code{rmail-summary-scroll-msg-down}) do this. They scroll | |
727 the message just as they do when the Rmail buffer is selected.@refill | |
728 | |
729 @kindex x (Rmail summary) | |
730 @findex rmail-summary-exit | |
731 When you are finished using the summary, type @kbd{x} | |
732 (@code{rmail-summary-exit}) to kill the summary buffer's window. | |
733 | |
734 @kindex q (Rmail summary) | |
735 @findex rmail-summary-quit | |
736 You can also exit Rmail while in the summary. @kbd{q} | |
737 (@code{rmail-summary-quit}) kills the summary window, then saves the | |
738 Rmail file and switches to another buffer. | |
739 | |
740 @node Rmail Reply, Rmail Editing, Rmail Summary, Top | |
741 @chapter Sending Replies | |
742 | |
743 Rmail has several commands that use Mail mode to send mail. Only the | |
744 special commands of Rmail for entering Mail mode are documented here. | |
745 Note that the usual keys for sending mail, @kbd{C-x m} and @kbd{C-x 4 | |
746 m}, are available in Rmail mode and work just as they usually do.@refill | |
747 | |
748 @table @kbd | |
749 @item m | |
750 Send a message (@code{rmail-mail}). | |
751 @item c | |
752 Continue editing already started outgoing message (@code{rmail-continue}). | |
753 @item r | |
754 Send a reply to the current Rmail message (@code{rmail-reply}). | |
755 @item f | |
756 Forward current message to other users (@code{rmail-forward}). | |
757 @end table | |
758 | |
759 @kindex r (Rmail) | |
760 @findex rmail-reply | |
761 @vindex rmail-dont-reply-to | |
762 @cindex reply to a message | |
763 To reply to a the message you are reading in Rmail, type @kbd{r} | |
764 (@code{rmail-reply}). This displays the @samp{*mail*} buffer in another | |
765 window, much like @kbd{C-x 4 m}, but pre-initializes the @samp{Subject}, | |
766 @samp{To}, @samp{CC}, and @samp{In-reply-to} header fields based on the | |
767 message you reply to. The @samp{To} field is given the sender of | |
768 that message, and the @samp{CC} gets all the recipients of that message. | |
769 Recipients that match elements of the list | |
770 @code{rmail-dont-reply-to} are omitted; by default, this list contains | |
771 your own mailing address.@refill | |
772 | |
773 Once you have initialized the @samp{*mail*} buffer this way, sending the | |
774 mail goes as usual. You can edit the presupplied header fields if they | |
775 are not what you want. | |
776 | |
777 @kindex C-c C-y (Mail mode) | |
778 @findex mail-yank-original | |
779 One additional Mail mode command is available when you invoke mail | |
780 from Rmail: @kbd{C-c C-y} (@code{mail-yank-original}) inserts into the | |
781 outgoing message a copy of the current Rmail message. Normally this is | |
782 the message you are replying to, but you can also switch to the Rmail | |
783 buffer, select a different message, switch back, and yank the new current | |
784 message. Normally the yanked message is indented four spaces and has | |
785 most header fields deleted from it; an argument to @kbd{C-c C-y} | |
786 specifies the amount to indent. @kbd{C-u C-c C-y} neither indents | |
787 the message nor deletes any header fields.@refill | |
788 | |
789 @kindex f (Rmail) | |
790 @findex rmail-forward | |
791 @cindex forward a message | |
792 Another frequent reason to send mail in Rmail is to forward the current | |
793 message to other users. @kbd{f} (@code{rmail-forward}) makes this easy by | |
794 preinitializing the @samp{*mail*} buffer with the current message as the | |
795 text and a subject designating a forwarded message. All you have to do is | |
796 fill in the recipients and send.@refill | |
797 | |
798 @kindex m (Rmail) | |
799 @findex rmail-mail | |
800 You can use the @kbd{m} (@code{rmail-mail}) command to start editing an | |
801 outgoing message that is not a reply. It leaves the header fields empty. | |
802 Its only difference from @kbd{C-x 4 m} is that it makes the Rmail buffer | |
803 accessible for @kbd{C-c y}, just as @kbd{r} does. Thus @kbd{m} can be | |
804 used to reply to or forward a message; it can do anything @kbd{r} or @kbd{f} | |
805 can do.@refill | |
806 | |
807 @kindex c (Rmail) | |
808 @findex rmail-continue | |
809 The @kbd{c} (@code{rmail-continue}) command resumes editing the | |
810 @samp{*mail*} buffer, to finish editing an outgoing message you were | |
811 already composing, or to alter a message you have sent.@refill | |
812 | |
813 @node Rmail Editing, Rmail Digest, Rmail Reply, Top | |
814 @chapter Editing Within a Message | |
815 | |
816 Rmail mode provides a few special commands for moving within and | |
817 editing the current message. In addition, the usual Emacs commands are | |
818 available (except for a few, such as @kbd{C-M-n} and @kbd{C-M-h}, that | |
819 are redefined by Rmail for other purposes). However, the Rmail buffer | |
820 is normally read-only, and to alter it you must use the Rmail command | |
821 @kbd{w} described below. | |
822 | |
823 @table @kbd | |
824 @item t | |
825 Toggle display of original headers (@code{rmail-toggle-headers}). | |
826 @item w | |
827 Edit current message (@code{rmail-edit-current-message}). | |
828 @end table | |
829 | |
830 @kindex t (Rmail) | |
831 @findex rmail-toggle-header | |
832 @vindex rmail-ignored-headers | |
833 Rmail reformats the header of each message before displaying it. | |
834 Normally this involves deleting most header fields, on the grounds that | |
835 they are not interesting. The variable @code{rmail-ignored-headers} | |
836 should contain a regexp that matches the header fields to discard in | |
837 this way. The original headers are saved permanently; to see what they | |
838 look like, use the @kbd{t} (@code{rmail-toggle-headers}) command. This | |
839 discards the reformatted headers of the current message and displays it | |
840 with the original headers. Repeating @kbd{t} reformats the message | |
841 again. Selecting the message again also reformats. | |
842 | |
843 @kindex w (Rmail) | |
844 @findex rmail-edit-current-message | |
845 The Rmail buffer is normally read-only, and most of the characters you | |
846 would type to modify it (including most letters) are redefined as Rmail | |
847 commands. This is usually not a problem since people rarely want to | |
848 change the text of a message. When you do want to do this, type @kbd{w} | |
849 (@code{rmail-edit-current-message}), which changes from Rmail mode to | |
850 Rmail Edit mode, another major mode which is nearly the same as Text | |
851 mode. The mode line indicates this change. | |
852 | |
853 In Rmail Edit mode, letters insert themselves as usual and the Rmail | |
854 commands are not available. When you are finished editing the message | |
855 and are ready to go back to Rmail, type @kbd{C-c C-c}, which switches | |
856 back to Rmail mode. To return to Rmail mode but cancel all the editing | |
857 you have done, type @kbd{C-c C-]}. | |
858 | |
859 @vindex rmail-edit-mode-hook | |
860 Entering Rmail Edit mode calls the value of the variable | |
861 @code{text-mode-hook} with no arguments, if that value exists and is not | |
862 @code{nil}. It then does the same with the variable | |
863 @code{rmail-edit-mode-hook} and finally adds the attribute @samp{edited} | |
864 to the message. | |
865 | |
866 @node Rmail Digest,, Rmail Editing, Top | |
867 @chapter Digest Messages | |
868 @cindex digest message | |
869 @cindex undigestify | |
870 | |
871 A @dfn{digest message} is a message which exists to contain and carry | |
872 several other messages. Digests are used on moderated mailing lists. All | |
873 messages that arrive for the list during a period of time, such as one | |
874 day, are put inside a single digest which is then sent to the subscribers. | |
875 Transmitting the single digest uses much less computer time than | |
876 transmitting the individual messages even though the total size is the | |
877 same, because the per-message overhead in network mail transmission is | |
878 considerable. | |
879 | |
880 @findex undigestify-rmail-message | |
881 When you receive a digest message, the most convenient way to read it is | |
882 to @dfn{undigestify} it: to turn it back into many individual messages. | |
883 You can then read and delete the individual messages as it suits you. | |
884 | |
885 To undigestify a message, select it and then type @kbd{M-x | |
886 undigestify-rmail-message}. This copies each submessage as a separate | |
887 Rmail message and inserts them all following the digest. The digest | |
888 message itself is flagged as deleted. | |
889 | |
890 @contents | |
891 @bye |