]> diplodocus.org Git - nmh/blob - man/mhshow.man
getpass.c: Move interface to own file.
[nmh] / man / mhshow.man
1 .TH MHSHOW %manext1% 2015-02-08 "%nmhversion%"
2 .
3 .\" %nmhwarning%
4 .
5 .SH NAME
6 mhshow \- display nmh MIME messages
7 .SH SYNOPSIS
8 .HP 5
9 .na
10 .B mhshow
11 .RB [ \-help ]
12 .RB [ \-version ]
13 .RI [ +folder ]
14 .RI [ msgs ]
15 .RB [ \-file
16 .IR file ]
17 .RB [ \-part
18 .IR number ]
19 \&...
20 .RB [ \-type
21 .IR content ]
22 \&...
23 .RB [ \-prefer
24 .IR content ]
25 \&...
26 .RB [ \-noprefer ]
27 .RB [ \-concat " | " \-noconcat ]
28 .RB [ \-textonly " | " \-notextonly ]
29 .RB [ \-inlineonly " | " \-noinlineonly ]
30 .RB [ \-header " | " \-noheader ]
31 .RB [ \-form
32 .IR formfile ]
33 .RB [ \-markform
34 .IR formfile ]
35 .RB [ \-rcache
36 .IR policy ]
37 .RB [ \-wcache
38 .IR policy ]
39 .RB [ \-check " | " \-nocheck ]
40 .ad
41 .SH DESCRIPTION
42 The
43 .B mhshow
44 command displays contents of a MIME (multi-media) message, or collection
45 of messages.
46 .PP
47 .B mhshow
48 manipulates multi-media messages as specified in RFC 2045 to RFC 2049.
49 Currently
50 .B mhshow
51 only supports encodings in message bodies, and does not support the
52 encoding of message headers as specified in RFC 2047.
53 .PP
54 By default,
55 .B mhshow
56 will display only the text parts of a message that are not marked as
57 attachments. This behavior can be changed by the
58 .B \-notextonly
59 and
60 .B \-noinlineonly
61 switches.
62 In addition, by using the
63 .BR \-part ,
64 .BR \-type ,
65 and
66 .B \-prefer
67 switches, you may limit and reorder the set of parts to be displayed,
68 based on part number and/or content type.
69 The inclusion of any
70 .B \-part
71 or
72 .B \-type
73 switches will override the default settings of
74 .B \-textonly
75 and
76 .BR \-inlineonly .
77 .PP
78 The
79 .B \-header
80 switch controls whether
81 .B mhshow
82 will print a message separator header before each message that it
83 displays. The header format can be controlled using
84 .BR \-headerform ,
85 to specify a file containing
86 .IR mh\-format (5)
87 instructions. A copy of the built-in default headerform can be found
88 in %nmhetcdir%/mhshow.header, for reference.
89 In addition to the normal set of
90 .IR mh\-format (5)
91 instructions, a "%{folder}" escape provides a string representing
92 the current folder.
93 .PP
94 By default,
95 .B mhshow
96 will concatenate all content under one pager. If you want each part to
97 be displayed separately, you can override the default behavior with
98 .B \-noconcat.
99 .PP
100 The
101 .B \-file
102 .I file
103 switch directs
104 .B mhshow
105 to use the specified file as the source message, rather than a message
106 from a folder. If you specify this file as \*(lq-\*(rq, then
107 .B mhshow
108 will accept the source message on the standard input. Note that the
109 file, or input from standard input, should be a validly formatted message,
110 just like any other
111 .B nmh
112 message. It should
113 .I not
114 be in mail drop format (to convert a file in
115 mail drop format to a folder of
116 .B nmh
117 messages, see
118 .IR inc (1)).
119 .PP
120 The
121 .B \-part
122 switch can be given (one or more times) to restrict the set of
123 subparts that will be displayed. (Obviously with no
124 .B \-part
125 switches, all parts will be considered.) If a
126 .B \-part
127 switch specifies a specific subpart (i.e., a "leaf" in the tree of
128 MIME parts), then that part will always be displayed. If a
129 .B \-part
130 switch references a multipart/alternative part, then (in
131 the absence of a
132 .B \-type
133 switch) only the default subpart of that multipart will be displayed.
134 .PP
135 A part specification consists of a series of numbers separated by dots.
136 For example, in a multipart content containing three parts, these
137 would be named as 1, 2, and 3, respectively. If part 2 was also a
138 multipart content containing two parts, these would be named as 2.1 and
139 2.2, respectively. Note that the
140 .B \-part
141 switch is effective only for messages containing a multipart content.
142 If a message has some other kind of content, or if the part is itself
143 another multipart content, the
144 .B \-part
145 switch will not prevent the content from being acted upon.
146 .PP
147 The
148 .B \-type
149 switch can also be used to restrict (or, when used in conjunction with
150 .BR \-part ,
151 to further restrict) the display of parts according to content type.
152 One or more
153 .B \-type
154 switches part will only select the first match from a multipart/alternative,
155 even if there is more than one subpart that matches (one of) the given
156 content type(s).
157 .PP
158 Using either
159 .B \-part
160 or
161 .B -type
162 switches alone will cause either switch to select the part(s) they match.
163 Using them together will select only the part(s) matched by both (sets of)
164 switches. In other words, the result is the intersection, and not the union,
165 of their separate match results.
166 .PP
167 A content specification consists of a content type and a subtype.
168 The initial list of \*(lqstandard\*(rq content types and subtypes can
169 be found in RFC 2046.
170 .PP
171 A list of commonly used contents is briefly reproduced here:
172 .PP
173 .RS 5
174 .nf
175 .ta \w'application 'u
176 Type Subtypes
177 ---- --------
178 text plain, enriched
179 multipart mixed, alternative, digest, parallel
180 message rfc822, partial, external-body
181 application octet-stream, postscript
182 image jpeg, gif, png
183 audio basic
184 video mpeg
185 .fi
186 .RE
187 .PP
188 A legal MIME message must contain a subtype specification.
189 .PP
190 To specify a content, regardless of its subtype, just use the
191 name of the content, e.g., \*(lqaudio\*(rq. To specify a specific
192 subtype, separate the two with a slash, e.g., \*(lqaudio/basic\*(rq.
193 Note that regardless of the values given to the
194 .B \-type
195 switch, a multipart content (of any subtype listed above) is always
196 acted upon. Further note that if the
197 .B \-type
198 switch is used, and it is desirable to act on a message/external-body
199 content, then the
200 .B \-type
201 switch must be used twice: once for message/external-body and once
202 for the content externally referenced.
203 .PP
204 In the absence of
205 .BR \-prefer ,
206 .B mhshow
207 will select the "best" displayable subpart from multipart/alternative
208 content. The
209 .B \-prefer
210 switch can be used (one or more times, in order of ascending
211 preference) to let MH know which content types from a
212 multipart/alternative MIME part are preferred by the user, in order to
213 override the default selection for display. For example, mail is
214 often sent containing both plaintext and HTML-formatted versions of
215 the same content, and the HTML version is usually indicated to be the
216 "best" format for viewing. Using \*(lq-prefer text/plain\*(rq will
217 cause the plaintext version to be displayed if possible, but still
218 allow display of the HTML part if there is no plaintext subpart
219 available. Using \*(lq-prefer text/plain -prefer image/png\*(rq
220 would add a preference for PNG images, which might or might not
221 ever appear in the same multipart/alternative section with text/plain.
222 Implementation note: RFC 2046 requires that the subparts
223 of a multipart/alternative be ordered according to "faithfulness to
224 the original content", and MH by default selects the subpart ranked
225 most "faithful" by that ordering. The
226 .B \-prefer
227 switch reorders the alternative parts (only internally, never changing
228 the message file) to move the user's preferred part(s) to the "most
229 faithful" position. Thus, when viewed by
230 .BR mhlist ,
231 the ordering of multipart/alternative parts will appear to change when
232 invoked with or without various
233 .B \-prefer
234 switches. Since the last of multiple
235 .B \-prefer
236 options "wins", a
237 .B \-prefer
238 on the command line will override any in a profile entry.
239 .PP
240 The
241 .B \-noprefer
242 switch will cancel any previous
243 .B \-prefer
244 switches.
245 .SS "Unseen Sequence"
246 If the profile entry \*(lqUnseen\-Sequence\*(rq is present and
247 non-empty, then
248 .B mhshow
249 will remove each of the messages shown from each sequence named by
250 the profile entry.
251 .SS "Checking the Contents"
252 The
253 .B \-check
254 switch tells
255 .B mhshow
256 to check each content for an integrity checksum. If a content has such
257 a checksum (specified as a Content-MD5 header field), then
258 .B mhshow
259 will attempt to verify the integrity of the content.
260 .SS "Showing the Contents"
261 The headers of each message are displayed with the
262 .I mhlproc
263 (usually
264 .BR mhl ),
265 using the standard format file,
266 .IR mhl.headers .
267 You may specify an alternative format file with the
268 .B \-form
269 .I formfile
270 switch. If the format file
271 .I mhl.null
272 is specified, then the display of the message headers is suppressed.
273 .PP
274 Next, the contents are extracted from the message and are stored in
275 a temporary file. Usually, the name of the temporary file is the
276 word \*(lqmhshow\*(rq followed by a string of characters. Occasionally,
277 the method used to display a content (described next), requires that
278 the file end in a specific suffix. For example, the
279 .B soffice
280 command (part of the StarOffice package) can be used to display
281 Microsoft Word content, but it uses the suffix to determine how to display
282 the file. If no suffix is present, the file is not correctly loaded.
283 Similarly, older versions of the
284 .B gs
285 command append a \*(lq.ps\*(rq suffix to the filename if one was missing.
286 As a result, these cannot be used to read the default temporary file.
287 .PP
288 To get around this, your profile can contain lines of the form:
289 .PP
290 .RS 5
291 mhshow-suffix-<type>/<subtype>: <suffix>
292 .RE
293 .PP
294 or
295 .PP
296 .RS 5
297 mhshow-suffix-<type>: <suffix>
298 .RE
299 .PP
300 to specify a suffix which can be automatically added to the temporary
301 file created for a specific content type. For example, the following
302 lines might appear in your profile:
303 .PP
304 .RS 5
305 .nf
306 mhshow-suffix-text: .txt
307 mhshow-suffix-application/msword: .doc
308 mhshow-suffix-application/PostScript: .ps
309 .fi
310 .RE
311 .PP
312 to automatically append a suffix to the temporary files.
313 .PP
314 The method used to display the different contents in the messages bodies
315 will be determined by a \*(lqdisplay string\*(rq. To find the display
316 string,
317 .B mhshow
318 will first search your profile for an entry of the form:
319 .PP
320 .RS 5
321 mhshow-show-<type>/<subtype>
322 .RE
323 .PP
324 If this isn't found,
325 .B mhshow
326 will search for an entry of the form:
327 .PP
328 .RS 5
329 mhshow-show-<type>
330 .RE
331 .PP
332 to determine the display string.
333 .PP
334 If a display string is found, any escapes (given below) will be expanded.
335 The result will be executed under \*(lq/bin/sh\*(rq, with the standard input
336 set to the content.
337 .PP
338 The display string may contain the following escapes:
339 .PP
340 .RS 5
341 .nf
342 .ta \w'%F 'u
343 %a Insert parameters from Content-Type field
344 %{parameter} Insert the parameter value from the Content-Type field
345 %f Insert filename containing content
346 %F %f, and stdin is terminal not content
347 %l display listing prior to displaying content
348 %s Insert content subtype
349 %d Insert content description
350 %% Insert the character %
351 .fi
352 .RE
353 .PP
354 .B mhshow
355 will execute at most one display string at any given time, and wait
356 for the current display string to finish execution before executing
357 the next display string.
358 .PP
359 The {parameter} escape is typically used in a command line argument
360 that should only be present if it has a non-null value. Its value
361 will be wrapped with single quotes if the escape is not so wrapped.
362 Shell parameter expansion can construct the argument only when it is
363 non-null, e.g.,
364 .PP
365 .RS 5
366 .nf
367 mhshow-show-text/html: charset=%{charset};
368 w3m ${charset:+-I $charset} -T text/html %F
369 .fi
370 .RE
371 .PP
372 That example also shows the use of indentation to signify continuation:
373 the two text lines combine to form a single entry. Note that when
374 dealing with text that has been converted internally by
375 .IR iconv (3),
376 the \*(lqcharset\*(rq parameter will reflect the target character set
377 of the text, rather than the original character set in the message.
378 .PP
379 Note that if the content being displayed is multipart, but not one of
380 the subtypes listed above, then the f- and F-escapes expand to multiple
381 filenames, one for each subordinate content. Furthermore, stdin is not
382 redirected from the terminal to the content.
383 .PP
384 If a display string is not found,
385 .B mhshow
386 behaves as if these profile entries were supplied and supported:
387 .PP
388 .RS 5
389 .nf
390 mhshow-show-text/plain: %lmoreproc %F
391 mhshow-show-message/rfc822: %lshow -file %F
392 .fi
393 .RE
394 .PP
395 Note that \*(lqmoreproc\*(rq is not supported in user profile display
396 strings.
397 .PP
398 If a subtype of type text doesn't have a profile entry, it will be
399 treated as text/plain.
400 .PP
401 .B mhshow
402 has default methods for handling multipart messages of subtype
403 mixed, alternative, parallel, and digest. Any unknown subtype of type
404 multipart (without a profile entry), will be treated as multipart/mixed.
405 .PP
406 If none of these apply, then
407 .B mhshow
408 will check to see if the message has an application/octet-stream content
409 with parameter \*(lqtype=tar\*(rq.
410 If so,
411 .B mhshow
412 will use an appropriate command. If not,
413 .B mhshow
414 will complain.
415 .PP
416 Example entries might be:
417 .PP
418 .RS 5
419 .nf
420 mhshow-show-audio/basic: raw2audio 2>/dev/null | play
421 mhshow-show-image: xv %f
422 mhshow-show-application/PostScript: lpr -Pps
423 .fi
424 .RE
425 .PP
426 If an f- or F-escape is not quoted with single quotes, its expansion
427 will be wrapped with single quotes.
428 .PP
429 Finally,
430 .B mhshow
431 will process each message serially\0--\0it won't start showing the next
432 message until all the commands executed to display the current message
433 have terminated.
434 .SS "Showing Alternate Character Sets"
435 If
436 .B mhshow
437 was built with
438 .IR iconv (3),
439 then all text/plain parts of the message(s) will be displayed using
440 the character set of the current locale. See
441 .IR mhparam (1)
442 for how to determine whether your
443 .B nmh
444 installation includes
445 .IR iconv (3)
446 support. To convert text parts other than text/plain, or if
447 .B mhshow
448 was not built with
449 .IR iconv ,
450 an external program can be used, as described next.
451 .PP
452 Because a content of type text might be in a non-ASCII character
453 set, when
454 .B mhshow
455 encounters a \*(lqcharset\*(rq parameter for this content, it checks
456 if your terminal can display this character set natively.
457 .B mhshow
458 checks this by examining the current character set defined by the
459 .IR locale (1)
460 environment variables. If the value of the locale character set is equal
461 to the value of the charset parameter, then
462 .B mhshow
463 assumes it can
464 display this content without any additional setup. If the locale is not
465 set properly,
466 .B mhshow
467 will assume a value of \*(lqUS-ASCII\*(rq.
468 If the character set cannot be displayed natively, then
469 .B mhshow
470 will look for an entry of the form:
471 .PP
472 .RS 5
473 mhshow-charset-<charset>
474 .RE
475 .PP
476 which should contain a command creating an environment to render
477 the character set. This command string should containing a single
478 \*(lq%s\*(rq, which will be filled-in with the command to display the
479 content.
480 .PP
481 Example entries might be:
482 .PP
483 .RS 5
484 mhshow-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-*' -e %s
485 .RE
486 .PP
487 or
488 .PP
489 .RS 5
490 mhshow-charset-iso-8859-1: '%s'
491 .RE
492 .PP
493 The first example tells
494 .B mhshow
495 to start
496 .B xterm
497 and load the appropriate character set for that message content.
498 The second example
499 tells
500 .B mhshow
501 that your pager (or other program handling that content type) can
502 handle that character set, and that no special processing is
503 needed beforehand.
504 .PP
505 Note that many pagers strip off the high-order bit, or have problems
506 displaying text with the high-order bit set. However, the pager
507 .B less
508 has support for single-octet character sets. For example, messages
509 encoded in the ISO-8859-1 character set can be viewed using
510 .BR less ,
511 with these environment variable settings:
512 .PP
513 .RS 5
514 .nf
515 .ta \w'%F 'u
516 LESSCHARSET latin1
517 LESS -f
518 .fi
519 .RE
520 .PP
521 The first setting tells
522 .B less
523 to use the ISO-8859-1 definition to determine whether a character is
524 \*(lqnormal\*(rq, \*(lqcontrol\*(lq, or \*(lqbinary\*(rq.
525 The second setting tells
526 .B less
527 not to warn you if it encounters a file that has non-ASCII characters.
528 Then, simply set the
529 .I moreproc
530 profile entry to
531 .BR less ,
532 and it will get called automatically. (To handle other single-octet
533 character sets, look at the
534 .IR less (1)
535 manual entry for information about the LESSCHARDEF environment variable.)
536 .SS "Messages of Type message/partial"
537 .B mhshow
538 cannot directly display messages of type partial.
539 You must first reassemble them into a normal message using
540 .BR mhstore .
541 Check
542 .IR mhstore (1)
543 for details.
544 .SS "External Access"
545 For contents of type message/external-body,
546 .B mhshow
547 supports these access-types:
548 .IP \(bu 4
549 afs
550 .IP \(bu 4
551 anon-ftp
552 .IP \(bu 4
553 ftp
554 .IP \(bu 4
555 local-file
556 .IP \(bu 4
557 mail-server
558 .IP \(bu 4
559 url
560 .PP
561 For the \*(lqanon-ftp\*(rq and \*(lqftp\*(rq access types,
562 .B mhshow
563 will look for the \*(lqnmh-access-ftp\*(rq profile entry, e.g.,
564 .PP
565 .RS 5
566 nmh-access-ftp: myftp.sh
567 .RE
568 .PP
569 to determine the pathname of a program to perform the FTP retrieval.
570 .PP
571 This program is invoked with these arguments:
572 .PP
573 .RS 5
574 .nf
575 domain name of FTP-site
576 username
577 password
578 remote directory
579 remote filename
580 local filename
581 \*(lqascii\*(rq or \*(lqbinary\*(rq
582 .fi
583 .RE
584 .PP
585 The program should terminate with an exit status of zero if the
586 retrieval is successful, and a non-zero exit status otherwise.
587 .PP
588 For the \*(lqurl\*(rq access-type,
589 .B mhshow
590 will look for the \*(lqnmh-access-url\*(rq profile entry. See
591 .IR mhstore (1)
592 for more details.
593 .SS "The Content Cache"
594 When
595 .B mhshow
596 encounters an external content containing a \*(lqContent-ID:\*(rq field,
597 and if the content allows caching, then depending on the caching behavior of
598 .BR mhshow ,
599 the content might be read from or written to a cache.
600 .PP
601 The caching behavior of
602 .B mhshow
603 is controlled with the
604 .B \-rcache
605 and
606 .B \-wcache
607 switches, which define the policy for reading from, and writing to, the cache,
608 respectively. One of four policies may be specified: \*(lqpublic\*(rq,
609 indicating that
610 .B mhshow
611 should make use of a publicly-accessible content cache; \*(lqprivate\*(rq,
612 indicating that
613 .B mhshow
614 should make use of the user's private content cache;
615 \*(lqnever\*(rq, indicating that
616 .B mhshow
617 should never make use of caching; and, \*(lqask\*(rq, indicating that
618 .B mhshow
619 should ask the user.
620 .PP
621 There are two directories where contents may be cached: the profile entry
622 \*(lqnmh-cache\*(rq names a directory containing world-readable contents, and,
623 the profile entry \*(lqnmh-private-cache\*(rq names a directory containing
624 private contents. The former should be an absolute (rooted) directory name.
625 .PP
626 For example,
627 .PP
628 .RS 5
629 nmh-cache: /tmp
630 .RE
631 .PP
632 might be used if you didn't care that the cache got wiped after each
633 reboot of the system. The latter is interpreted relative to the user's
634 nmh directory, if not rooted, e.g.,
635 .PP
636 .RS 5
637 nmh-private-cache: .cache
638 .RE
639 .PP
640 (which is the default value).
641 .SS "User Environment"
642 Because the display environment in which
643 .B mhshow
644 operates may vary for different machines,
645 .B mhshow
646 will look for the environment variable MHSHOW. If present, this specifies
647 the name of an additional user profile which should be read.
648 Hence, when a user logs in on a particular display device, this environment
649 variable should be set to refer to a file containing definitions useful
650 for the given display device.
651 Normally, only entries that deal with the methods to display different
652 content type and subtypes
653 .PP
654 .RS 5
655 .nf
656 mhshow-show-<type>/<subtype>
657 mhshow-show-<type>
658 .fi
659 .RE
660 .PP
661 need be present in this additional profile. Finally,
662 .B mhshow
663 will attempt to consult
664 .PP
665 .RS 5
666 %nmhetcdir%/mhn.defaults
667 .RE
668 .PP
669 which is created automatically during
670 .B nmh
671 installation.
672 .PP
673 See "Profile Lookup" in
674 .IR mh-profile (5)
675 for the profile search order, and for how duplicate entries are treated.
676 .SS Content-Type Marker
677 .B mhshow
678 will display a marker containing information about the part being displayed
679 next. The default marker can be changed using the
680 .B \-markform
681 switch to specify a file containing
682 .IR mh\-format (5)
683 instructions to use when displaying the content marker. A copy of the
684 default markform can be found in %nmhetcdir%/mhshow.marker, for
685 reference. In addition to the normal set of
686 .IR mh\-format (5)
687 instructions, the following
688 .I component
689 escapes are supported:
690 .PP
691 .RS 5
692 .nf
693 .ta \w'cdispo-<PARAM> 'u +\w'Returns 'u
694 .I "Escape Returns Description"
695 part string MIME part number
696 content\-type string MIME Content\-Type of part
697 description string Content\-Description header
698 disposition string Content disposition (attachment or inline)
699 ctype-<PARAM> string Value of <PARAM> from Content\-Type header
700 cdispo-<PARAM> string Value of <PARAM> from
701 Content\-Disposition header
702 %(size) integer The size of the decoded part, in bytes
703 %(unseen) boolean Returns true for suppressed parts
704 .fi
705 In this context, the %(unseen) function indicates whether
706 .B mhshow
707 has decided to not display a particular part due to the
708 .B \-textonly
709 or
710 .B \-inlineonly
711 switches.
712 .RE
713 All MIME parameters and the \*(lqContent-Description\*(rq header will have
714 RFC 2231 decoding applied and be converted to the local character set.
715 .SH FILES
716 .B mhshow
717 looks for all format files and mhn.defaults in multiple locations:
718 absolute pathnames are accessed directly, tilde expansion is done on
719 usernames, and files are searched for in the user's
720 .I Mail
721 directory, as specified in their profile. If not found there, the directory
722 .RI \*(lq %nmhetcdir% \*(rq
723 is checked.
724 .PP
725 .fc ^ ~
726 .nf
727 .ta \w'%nmhetcdir%/ExtraBigFileName 'u
728 ^$HOME/.mh_profile~^The user profile
729 ^$MHSHOW~^Additional profile entries
730 ^%nmhetcdir%/mhn.defaults~^System default MIME profile entries
731 ^%nmhetcdir%/mhl.headers~^The headers template
732 ^%nmhetcdir%/mhshow.marker~^Example content marker
733 ^%nmhetcdir%/mhshow.header~^Example message separator header
734 .fi
735 .SH "PROFILE COMPONENTS"
736 .fc ^ ~
737 .nf
738 .ta 2.4i
739 .ta \w'ExtraBigProfileName 'u
740 ^Path:~^To determine the user's nmh directory
741 ^Current\-Folder:~^To find the default current folder
742 ^Unseen\-Sequence:~^To name sequences denoting unseen messages
743 ^mhlproc:~^Default program to display message headers
744 ^nmh-access-ftp:~^Program to retrieve contents via FTP
745 ^nmh-access-url:~^Program to retrieve contents via HTTP
746 ^nmh-cache~^Public directory to store cached external contents
747 ^nmh-private-cache~^Personal directory to store cached external contents
748 ^mhshow-charset-<charset>~^Template for environment to render character sets
749 ^mhshow-show-<type>*~^Template for displaying contents
750 ^moreproc:~^Default program to display text/plain content
751 .fi
752 .SH "SEE ALSO"
753 .IR iconv (3),
754 .IR mhbuild (1),
755 .IR mhl (1),
756 .IR mhlist (1),
757 .IR mhparam (1),
758 .IR mhstore (1),
759 .IR sendfiles (1)
760 .SH DEFAULTS
761 .nf
762 .RB ` +folder "' defaults to the current folder"
763 .RB ` msgs "' defaults to cur"
764 .RB ` \-nocheck '
765 .RB ` \-concat '
766 .RB ` \-textonly '
767 .RB ` \-inlineonly '
768 .RB ` \-form\ mhl.headers '
769 .RB ` \-rcache\ ask '
770 .RB ` \-wcache\ ask '
771 .fi
772 .SH CONTEXT
773 If a folder is given, it will become the current folder. The last
774 message selected will become the current message.