]> diplodocus.org Git - nmh/blobdiff - man/mhfixmsg.man
showbuildenv: Add comment describing exit-status convention.
[nmh] / man / mhfixmsg.man
index 38c322f9318ada0b1fecba20ef66f55a6e271f50..af2880008cdc68949f588903a9f7ce3d95b5945d 100644 (file)
@@ -1,4 +1,4 @@
-.TH MHFIXMSG %manext1% "September 22, 2016" "%nmhversion%"
+.TH MHFIXMSG %manext1% "November 7, 2016" "%nmhversion%"
 .\"
 .\" %nmhwarning%
 .\"
 .\"
 .\" %nmhwarning%
 .\"
@@ -8,6 +8,8 @@ mhfixmsg \- rewrite MIME messages with various transformations
 .HP 5
 .na
 .B mhfixmsg
 .HP 5
 .na
 .B mhfixmsg
+.RB [ \-help ]
+.RB [ \-version ]
 .RI [ +folder ]
 .RI [ msgs " | "
 .IR "absolute pathname" " | "
 .RI [ +folder ]
 .RI [ msgs " | "
 .IR "absolute pathname" " | "
@@ -35,8 +37,6 @@ mhfixmsg \- rewrite MIME messages with various transformations
 .RB [ \-normmproc ]
 .RB [ \-changecur " | " \-nochangecur ]
 .RB [ \-verbose " | " \-noverbose ]
 .RB [ \-normmproc ]
 .RB [ \-changecur " | " \-nochangecur ]
 .RB [ \-verbose " | " \-noverbose ]
-.RB [ \-version ]
-.RB [ \-help ]
 .ad
 .SH DESCRIPTION
 .B mhfixmsg
 .ad
 .SH DESCRIPTION
 .B mhfixmsg
@@ -191,9 +191,9 @@ The
 .B \-fixcte
 switch enables a transformation to change the
 Content-Transfer-Encoding from an invalid value to 8bit in message
 .B \-fixcte
 switch enables a transformation to change the
 Content-Transfer-Encoding from an invalid value to 8bit in message
-parts with a Content-Type of multipart, as required by RFC 2045,
-§6.4.  That condition is indicated by a \*(lqmust be encoded in
-7bit, 8bit, or binary\*(rq error message from
+parts with a Content-Type of multipart and message, as required by
+RFC 2045, §6.4.  That condition is indicated by a \*(lqmust be
+encoded in 7bit, 8bit, or binary\*(rq error message from
 .B mhlist
 and other
 .B nmh
 .B mhlist
 and other
 .B nmh
@@ -208,8 +208,12 @@ more descriptive MIME type.  It may not be used for multipart and
 message types.
 .PP
 .B mhfixmsg
 message types.
 .PP
 .B mhfixmsg
-applies one transformation unconditionally:  it removes an extraneous
-trailing semicolon from the parameter lists of MIME header fields.
+applies two transformations unconditionally.
+The first removes an extraneous trailing semicolon from the parameter
+lists of MIME header field values.
+The second replaces RFC 2047 encoding with RFC 2231 encoding of name
+and filename parameters in Content-Type and Content-Disposition header
+field values, respectively.
 .PP
 The
 .B \-verbose
 .PP
 The
 .B \-verbose
@@ -301,7 +305,7 @@ content type and/or encoding as follows:
 \-textcharset        text/plain parts
 \-reformat           text parts that are not text/plain
 \-fixboundary        outermost multipart part
 \-textcharset        text/plain parts
 \-reformat           text parts that are not text/plain
 \-fixboundary        outermost multipart part
-\-fixcte             multipart part
+\-fixcte             multipart or message part
 \-fixtype            all except multipart and message parts
 .fi
 .RE
 \-fixtype            all except multipart and message parts
 .fi
 .RE
@@ -372,6 +376,7 @@ could be called on the message after it is stored.
 .nf
 .ta \w'\-fixboundary 'u
 PATH = %bindir%:$PATH
 .nf
 .ta \w'\-fixboundary 'u
 PATH = %bindir%:$PATH
+LANG = en_US.utf8
 MAILDIR = `mhparam path`
 #### The Backups directory is relative to MAILDIR.
 MKSTEMP = 'mkstemp -directory Backups -prefix mhfixmsg'
 MAILDIR = `mhparam path`
 #### The Backups directory is relative to MAILDIR.
 MKSTEMP = 'mkstemp -directory Backups -prefix mhfixmsg'
@@ -422,7 +427,7 @@ mhfixmsg -outfile - | mhlist -file -
 .RE
 .SS Search message without modification
 To search the current message, which possibly contains base64 or quoted printable encoded text parts,
 .RE
 .SS Search message without modification
 To search the current message, which possibly contains base64 or quoted printable encoded text parts,
-without modifiying it, use the -outfile switch:
+without modifying it, use the -outfile switch:
 .PP
 .RS
 .nf
 .PP
 .RS
 .nf
@@ -444,17 +449,29 @@ mhfixmsg -textcharset utf-8
 .SS Fix all messages in a folder
 To run
 .B mhfixmsg
 .SS Fix all messages in a folder
 To run
 .B mhfixmsg
-on all of the messages in a folder, using a Bourne shell loop:
+on all of the messages in a folder:
 .PP
 .RS
 .nf
 .PP
 .RS
 .nf
-for msg in `pick +folder`; do mhfixmsg $msg; done
+mhfixmsg +folder all
 .fi
 .RE
 .PP
 .fi
 .RE
 .PP
+Alternatively,
 .B mhfixmsg
 .B mhfixmsg
-can be run on more than one message, but on a large number of messages
-may attempt to open too many files.
+can be run on each message separately, e.g., using a Bourne shell loop:
+.PP
+.RS
+.nf
+for msg in `pick +folder`; do mhfixmsg +folder $msg; done
+.fi
+.RE
+.PP
+The two appearances of the
+.B +folder
+switch in that command protect against concurrent context changes by other
+.B nmh
+command invocations.
 .SS Run on newly incorporated messages
 To run
 .B mhfixmsg
 .SS Run on newly incorporated messages
 To run
 .B mhfixmsg
@@ -531,9 +548,3 @@ switch is enabled.  If the
 .B \-file
 switch or an absolute pathname is used, the context will not be
 modified.
 .B \-file
 switch or an absolute pathname is used, the context will not be
 modified.
-.SH BUGS
-.B mhfixmsg
-opens files internally for decoding and character set conversion, and apparently does not
-close them expeditiously.  Until that is resolved, it is recommended that
-.B mhfixmsg
-not be run on a large number of messages at once, as noted in the EXAMPLES above.