-.TH MHFIXMSG %manext1% "March 21, 2013" "%nmhversion%"
+.TH MHFIXMSG %manext1% "October 27, 2013" "%nmhversion%"
.\"
.\" %nmhwarning%
.\"
.na
.B mhfixmsg
.RI [ +folder ]
-.RI [ msgs ]
+.RI [ msgs " | "
+.IR "absolute pathname" " | "
+.RB \-file
+.IR file ]
.RB [ \-decodetext
8bit/7bit |
.BR \-nodecodetext ]
.I codeset
.RB "| " \-notextcodeset ]
.RB [ \-reformat " | " \-noreformat ]
+.RB [ \-replacetextplain " | " \-noreplacetextplain ]
.RB [ \-fixboundary " | " \-nofixboundary ]
.RB [ \-fixcte " | " \-nofixcte ]
-.RB [ \-file
-.IR file ]
.RB [ \-outfile
.IR outfile ]
.RB [ \-rmmproc
decoding of MIME-encoded message parts and repairing invalid MIME
headers.
.PP
-MIME messages are specified in RFC\-2045 to RFC\-2049
+MIME messages are specified in RFC 2045 to RFC 2049
(see
.IR mhbuild (1)).
The
switch enables a transformation to decode each base64 and
quoted-printable text message part to the selected 8bit or 7bit
encoding. If 7bit is selected for a base64 part but it will only fit
-8bit, as defined by RFC-2045, then it will be decoded to 8bit
+8bit, as defined by RFC 2045, then it will be decoded to 8bit
quoted-printable. Otherwise, if the decoded text would not fit the
selected encoding, the part is not decoded (and a message will be
displayed if
.B \-verbose
is enabled).
.PP
+When the
+.B \-decodetext
+switch is enabled, each carriage return character that precedes a
+linefeed character is removed from text parts encoded in ASCII,
+ISO-8859-x, UTF-8, or Windows-12xx.
+.PP
The
.B \-textcodeset
switch specifies that all text/plain parts of the message(s)
multipart/alternative part, if present. If not, it creates a
multipart/alternative part.
.PP
+The
+.B \-replacetextplain
+switch broadens the applicability of
+.B \-reformat
+by always replacing a corresponding text/plain part, if one exists.
+If
+.B \-verbose
+if enabled, the replacement will be shown as two steps: a removal of
+the text/plain part followed by the usual insertion of a new part.
+.PP
.B \-reformat
requires a profile entry for each text part subtype to be reformatted.
The mhfixmsg-format-text/subtype profile entries are based on external
.B mhfixmsg
to use the specified
file as the source message, rather than a message from a folder.
-If this file is \*(lq-\*(rq, then
+Only one file argument may be provided. The
+.B \-file
+switch is implied if
+.I file
+is an absolute pathname.
+If the file is \*(lq-\*(rq, then
.B mhfixmsg
accepts the source message on the standard input stream. If
the
.B \-rmmproc
switches.
.PP
+.SS "Integration with inc"
+.B mhfixmsg
+can be used as an add-hook, as described in %docdir%/README-HOOKS.
+Note that add-hooks are called from all
+.B nmh
+programs that add a message to a folder, not just
+.BR inc .
+Alternatively, a simple shell alias or function can be used to
+call
+.B mhfixmsg
+immediately after a successful invocation of
+.BR inc .
+For example, with bash:
+.PP
+.RS 5
+alias inc='inc && mhfixmsg'
+.RE
+.PP
.SS "Integration with procmail"
By way of example, here is an excerpt from a procmailrc file
that filters messages through
^rmmproc:~^Program to delete original messages or files
.fi
.SH "SEE ALSO"
+.IR inc (1),
.IR mh-profile (5),
.IR mhbuild (1),
.IR mhlist (1),
.RB ` "\-decodetext 8bit"'
.RB ` \-notextcodeset '
.RB ` \-reformat '
+.RB ` \-noreplacetextplain '
.RB ` \-fixboundary '
.RB ` \-fixcte '
.RB ` \-noverbose '
message selected from a folder will become the current message. If
the
.B \-file
-switch is used, the context will not be modified.
+switch or an absolute pathname is used, the context will not be
+modified.