Updated the man pages to the recent changes.
[mmh] / man / repl.man1
1 .\"
2 .\" %nmhwarning%
3 .\"
4 .TH REPL %manext1% "%nmhdate%" MH.6.8 [%nmhversion%]
5 .SH NAME
6 repl \- reply to a message
7 .SH SYNOPSIS
8 .HP 5
9 .na
10 .B repl
11 .RI [ +folder ]
12 .RI [ msgs ]
13 .RB [ \-annotate " | " \-noannotate ]
14 .RB [ \-group " | " \-nogroup ]
15 .RB [ \-cc
16 all/to/cc/me]
17 .RB [ \-nocc
18 all/to/cc/me]
19 .RB [ \-query " | " \-noquery ]
20 .RB [ \-form
21 .IR formfile ]
22 .RB [ \-format " | " \-noformat ]
23 .RB [ \-filter
24 .IR filterfile ]
25 .RB [ \-inplace " | " \-noinplace ]
26 .RB [ \-mime " | " \-nomime ]
27 .RB [ \-fcc
28 .IR +folder ]
29 .RB [ \-width
30 .IR columns ]
31 .RB [ \-editor
32 .IR editor ]
33 .RB [ \-noedit ]
34 .RB [ \-whatnowproc
35 .IR program ]
36 .RB [ \-nowhatnowproc ]
37 .RB [ \-build ]
38 .RB [ \-file
39 .IR msgfile ]
40 .RB [ \-version ]
41 .RB [ \-help ]
42 .ad
43 .SH DESCRIPTION
44 .B Repl
45 may be used to produce a reply to an existing message.
46 .PP
47 In its simplest form (with no arguments),
48 .B repl
49 will set up a
50 message\-form skeleton in reply to the current message in the current
51 folder, and invoke the whatnow shell.
52 .PP
53 In order to construct the message draft of the reply,
54 .B repl
55 uses
56 a reply template to guide its actions.  A reply template is simply a
57 .B mhl
58 format file (see
59 .BR mh\-format (5)
60 for details).
61 .PP
62 If the switch
63 .B \-nogroup
64 is given (it is on by default), then
65 .B repl
66 will use the standard forms file \*(lqreplcomps\*(rq.  This will construct
67 a draft message that is intended to be sent only to the author of the
68 message to which you are replying.  If a file named \*(lqreplcomps\*(rq
69 exists in the user's
70 .B mmh
71 directory, it will be used instead of this
72 default forms file.
73 .PP
74 The default reply template \*(lqreplcomps\*(rq will direct
75 .B repl
76 to construct the reply message draft as follows:
77 .PP
78 .RS 5
79 .nf
80 To: <Mail\-Reply\-To> or <Reply\-To> or <From>
81 Cc: <To> and <Cc> and <personal address>
82 Fcc: {fcc switch} or +sent
83 Subject: Re: <Subject>
84 In\-Reply\-To: <Message\-Id>
85 References: <Message\-Id>
86 Comments: In\-Reply\-To <From> or <apparently from> or <Sender>
87 .ti +3
88 message dated <date>
89 --------
90 .fi
91 .RE
92 .PP
93 where field names enclosed in angle brackets (<\ >) indicate the
94 contents of the named field from the message to which the reply is
95 being made.
96 .PP
97 By default, the \*(lqCc:\*(rq field is empty.  You may selectively add
98 addresses to this default with the
99 .B \-cc
100 .I type
101 switch.  This switch takes an
102 argument (
103 .IR all / to / cc / me )
104 which specifies who gets added to the default
105 \*(lqCc:\*(rq list of the reply.  You may give this switch multiple times (with
106 different arguments) if you wish to add multiple types of addresses.
107 .PP
108 If the switch
109 .B \-group
110 is given, then
111 .B repl
112 will use the the
113 standard forms file \*(lqreplgroupcomps\*(rq.  This will construct a
114 draft message that is intended as a group or followup reply.  If a file
115 named \*(lqreplgroupcomps\*(rq exists in the user's mmh directory, it
116 will be used instead of this default forms file.
117 .PP
118 The default group reply template \*(lqreplgroupcomps\*(rq will direct
119 .B repl
120 to construct the reply message draft as follows:
121 .PP
122 .RS 5
123 .nf
124 To: <Mail\-Followup\-To>
125 Subject: Re: <Subject>
126 In\-Reply\-To: Message from <From> of <Date>.
127 .ti +\w'In\-Reply\-To: 'u
128 <Message\-Id>
129 --------
130 .fi
131 .RE
132 .PP
133 or if the field <Mail\-Followup\-To> is not available:
134 .PP
135 .RS 5
136 .nf
137 To: <Mail\-Reply\-To> or <Reply\-To> or <From>
138 Cc: <To> and <Cc> and <personal address>
139 Subject: Re: <Subject>
140 In\-Reply\-To: Message from <From> of <Date>.
141 .ti +\w'In\-Reply\-To: 'u
142 <Message\-Id>
143 --------
144 .fi
145 .RE
146 .PP
147 By default, the \*(lqCc:\*(rq contains all the addresses shown.  You may
148 selectively remove addresses from this default with the
149 .B \-nocc
150 .I type
151 switch.
152 This switch takes an argument (
153 .IR all / to / cc / me )
154 which specifies who gets removed
155 from the default \*(lqCc:\*(rq list of the reply.  You may give this switch
156 multiple times (with different arguments) if you wish to remove multiple types
157 of addresses.
158 .PP
159 In any case, you may specify an alternate forms file with the switch
160 .B \-form
161 .IR formfile .
162 .PP
163 The
164 .B \-query
165 switch modifies the action of
166 .B \-nocc
167 .I type
168 switch by
169 interactively asking you if each address that normally would be placed in
170 the \*(lqTo:\*(rq and \*(lqCc:\*(rq list should actually be sent a copy.
171 This is useful for special\-purpose replies.  Note that the position of
172 the
173 .B \-cc
174 and
175 .B \-nocc
176 switches, like all other switches which take a
177 positive and negative form, is important.
178 .PP
179 Lines beginning with the fields \*(lqTo:\*(rq, \*(lqCc:\*(rq, and
180 \*(rqBcc:\*(rq will be standardized and have duplicate addresses removed.
181 In addition, the
182 .B \-width
183 .I columns
184 switch will guide
185 .BR repl 's
186 formatting of these fields.
187 .PP
188 See
189 .BR comp (1)
190 for a description of the
191 .B \-editor
192 and
193 .B \-noedit
194 switches.  Note that while in the editor, the message being replied
195 to is available through a link named \*(lq@\*(rq (assuming the default
196 .IR whatnowproc ).
197 In addition, the actual pathname of the message is
198 stored in the environment variable
199 .BR $editalt ,
200 and the pathname of
201 the folder containing the message is stored in the environment variable
202 .BR $mhfolder .
203 .PP
204 Although
205 .B repl
206 uses a forms file to direct it how to construct
207 the beginning of the draft, it uses a message filter file to direct
208 it as to how the message to which you are replying should be filtered
209 (re\-formatted) in the body of the draft.  The filter file for
210 .B repl
211 should be a standard form file for
212 .BR mhl ,
213 as
214 .B repl
215 will invoke
216 .B mhl
217 to format the message to which you are replying.
218 .PP
219 The switches
220 .BR \-noformat ,
221 .BR \-format ,
222 and
223 .B \-filter
224 .I filterfile
225 specify
226 which message filter file to use.
227 .PP
228 If the switch
229 .B \-noformat
230 is given (it is the default), then the message
231 to which you are replying is not included in the body of the draft.
232 .PP
233 If the switch
234 .B \-format
235 is given, then a default message filter file
236 is used.  This default message filter should be adequate for most users.
237 This default filter
238 .RI \*(lq mhl.reply \*(rq
239 is:
240 .PP
241 .RS 5
242 .nf
243 %mhl_reply%
244 .fi
245 .RE
246 .PP
247 which outputs each line of the body of the message prefaced with the
248 \*(lq>\*(rq character and a space.
249 .PP
250 If a file named
251 .RI \*(lq mhl.reply \*(rq
252 exists in the user's
253 .B mmh
254 directory,
255 it will be used instead of this form.  You may specify an alternate
256 message filter file with the switch
257 .B \-filter
258 .IR filterfile .
259 .PP
260 Other reply filters are commonly used, such as:
261 .PP
262 .RS 5
263 .nf
264 :
265 body:nocomponent,compwidth=9,offset=9
266 .fi
267 .RE
268 .PP
269 which says to output a blank line and then the body of the message
270 being replied\-to, indented by one tab\-stop.  Another popular format
271 is:
272 .PP
273 .RS 5
274 .nf
275 message-id:nocomponent,\|nonewline,\\
276 formatfield=\*(lqIn message %{text},\ \*(rq
277 from:nocomponent,\|formatfield=\*(lq%(decode(friendly{text})) writes:\*(rq
278 body:component=\*(lq>\*(rq,\|overflowtext=\*(lq>\*(rq,\|overflowoffset=0
279 .fi
280 .RE
281 .PP
282 This message filter file cites the Message-ID and author of the message
283 being replied\-to, and then outputs each line of the body prefaced with
284 the \*(lq>\*(rq character.
285 .PP
286 To use the MIME rules for encapsulation, specify the
287 .B \-mime
288 switch.
289 This directs
290 .B repl
291 to add an attachment header field, for which
292 .B send
293 will care.
294 .PP
295 If the
296 .B \-annotate
297 switch is given, the message being replied\-to will
298 be annotated with the lines
299 .PP
300 .RS 5
301 Replied:\ date
302 Replied:\ addrs
303 .RE
304 .PP
305 where the address list contains one line for each addressee.
306 The annotation will be done only if the message is sent directly from
307 .BR repl .
308 If the message is not sent immediately from
309 .BR repl ,
310 .RB \*(lq "comp\ \-use" \*(rq
311 may be used to re\-edit and send the constructed
312 message, but the annotations won't take place.  Normally annotations are
313 done inplace in order to preserve any links to the message.  You may use
314 the
315 .B \-noinplace
316 switch to change this.
317 .PP
318 Although the default template specifies that a copy of the reply will be
319 put in
320 the folder 'sent',
321 if the
322 .B \-fcc
323 .I +folder
324 switch is given it will override the default value.
325 More than one folder, each preceded by
326 .B \-fcc
327 can
328 be named.
329 .PP
330 In addition to the standard
331 .BR mh\-format (5)
332 escapes,
333 .B repl
334 also recognizes the following additional
335 .I component
336 escape:
337 .PP
338 .RS 5
339 .nf
340 .ta \w'Escape  'u +\w'Returns  'u
341 .I Escape       Returns Description
342 fcc     string  Any folders specified with `\-fcc\ folder'
343 .fi
344 .RE
345 .PP
346 To avoid reiteration,
347 .B repl
348 strips any leading `Re: ' strings from
349 the
350 .I subject
351 component.
352 .PP
353 Consult the
354 .BR mh-draft (7)
355 man page for more
356 information.
357 .PP
358 Upon exiting from the editor,
359 .B repl
360 will invoke the
361 .B whatnow
362 program.  See
363 .BR whatnow (1)
364 for a discussion of available
365 options.  The invocation of this program can be inhibited by using the
366 .B \-nowhatnowproc
367 switch.  (In truth of fact, it is the
368 .B whatnow
369 program which starts the initial edit.  Hence,
370 .B \-nowhatnowproc
371 will
372 prevent any edit from occurring.)
373 .PP
374 The
375 .B \-build
376 switch is intended to be used by the Emacs mh-e interface
377 to
378 .BR nmh ,
379 and is only present if
380 .B nmh
381 was compiled with support
382 for mh-e. It implies
383 .BR \-nowhatnowproc .
384 It causes a file
385 .I reply (in the mail storage root)
386 to be created, containing the draft message that would normally be presented
387 to the user for editing.
388 No mail is actually sent. Note that this switch is not guaranteed to
389 be present or to have the same effects in future versions of
390 .BR nmh :
391 it is documented here only for completeness.
392 .PP
393 The
394 .B \-file
395 .I msgfile
396 switch specifies the message to be replied to as an
397 exact filename rather than as an
398 .B nmh
399 folder and message number. It is
400 intended to be used by the
401 .B msh
402 interface to
403 .BR nmh .
404 The same caveats apply to this option as to the
405 .B \-build
406 switch.
407
408 .SH FILES
409 .fc ^ ~
410 .nf
411 .ta \w'%etcdir%/ExtraBigFileName  'u
412 ^%etcdir%/replcomps~^The standard reply template
413 ^or $HOME/.mmh/replcomps~^Rather than the standard template
414 ^%etcdir%/replgroupcomps~^The standard `reply -group' template
415 ^or $HOME/.mmh/replgroupcomps~^Rather than the standard template
416 ^%etcdir%/mhl.reply~^The standard message filter
417 ^or $HOME/.mmh/mhl.reply~^Rather than the standard filter
418 ^$HOME/.mmh/profile~^The user profile
419 ^+drafts~^The draft folder
420 .fi
421
422 .SH "PROFILE COMPONENTS"
423 .fc ^ ~
424 .nf
425 .ta 2.4i
426 .ta \w'ExtraBigProfileName  'u
427 ^Path:~^To determine the user's mail storage
428 ^Alternate\-Mailboxes:~^To determine the user's mailboxes
429 ^Current\-Folder:~^To find the default current folder
430 ^Draft\-Folder:~^To set the default draft\-folder
431 ^Editor:~^To override the default editor
432 ^Msg\-Protect:~^To set mode when creating a new message (draft)
433 ^fileproc:~^Program to refile the message
434 ^mhlproc:~^Program to filter message being replied\-to
435 ^whatnowproc:~^Program to ask the \*(lqWhat now?\*(rq questions
436 .fi
437
438 .SH "SEE ALSO"
439 mhbuild(1), comp(1), forw(1), send(1), whatnow(1), mh\-format(5)
440
441 .SH DEFAULTS
442 .nf
443 .RB ` +folder "' defaults to the current folder"
444 .RB ` msg "' defaults to cur"
445 .RB ` \-nogroup '
446 .RB ` "\-nocc\ all" "' with `\-nogroup', `\-cc\ all' with `\-group'"
447 .RB ` \-noannotate '
448 .RB ` \-noformat '
449 .RB ` \-inplace '
450 .RB ` \-nomime '
451 .RB ` \-noquery '
452 .RB ` "\-width\ 72" '
453 .fi
454
455 .SH CONTEXT
456 If a folder is given, it will become the current folder.  The message
457 replied\-to will become the current message.
458
459 .SH BUGS
460 If any addresses occur in the reply template, addresses in the template
461 that do not contain hosts are defaulted incorrectly.  Instead of using
462 the localhost for the default,
463 .B repl
464 uses the sender's host.
465 Moral of the story: if you're going to include addresses in a reply
466 template, include the host portion of the address.
467 .PP
468 The
469 .B \-width
470 .I columns
471 switch is only used to do address-folding; other
472 headers are not line\-wrapped.
473 .PP
474 If
475 .I whatnowproc
476 is
477 .BR whatnow ,
478 then
479 .B repl
480 uses a built\-in
481 .BR whatnow ,
482 it does not actually run the
483 .B whatnow
484 program.
485 Hence, if you define your own
486 .IR whatnowproc ,
487 don't call it
488 .B whatnow
489 since
490 .B repl
491 won't run it.
492 .PP
493 If your current working directory is not writable, the link named
494 \*(lq@\*(rq is not available.