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