]> diplodocus.org Git - nmh/blobdiff - man/mhfixmsg.man
Moved norm_charmap() declaration from h/prototypes.h to
[nmh] / man / mhfixmsg.man
index 68f0687194f1991ad790ac3806354e469f547f36..7209f74006ad9534f4ef89fcc4b88cb00899d213 100644 (file)
@@ -1,4 +1,4 @@
-.TH MHFIXMSG %manext1% "March 21, 2013" "%nmhversion%"
+.TH MHFIXMSG %manext1% "March 16, 2014" "%nmhversion%"
 .\"
 .\" %nmhwarning%
 .\"
@@ -9,18 +9,20 @@ mhfixmsg \- rewrite MIME messages with various transformations
 .na
 .B mhfixmsg
 .RI [ +folder ]
-.RI [ msgs ]
+.RI [ msgs " | "
+.IR "absolute pathname" " | "
+.RB \-file
+.IR file ]
 .RB [ \-decodetext
 8bit/7bit |
 .BR \-nodecodetext ]
-.RB [ \-textcodeset
-.I codeset
-.RB "| " \-notextcodeset ]
+.RB [ \-textcharset
+.I charset
+.RB "| " \-notextcharset ]
 .RB [ \-reformat " | " \-noreformat ]
+.RB [ \-replacetextplain " | " \-noreplacetextplain ]
 .RB [ \-fixboundary " | " \-nofixboundary ]
 .RB [ \-fixcte " | " \-nofixcte ]
-.RB [ \-file
-.IR file ]
 .RB [ \-outfile
 .IR outfile ]
 .RB [ \-rmmproc
@@ -36,7 +38,7 @@ rewrites MIME messages, applying specific transformations such as
 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
@@ -53,22 +55,33 @@ 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
+.B \-textcharset
 switch specifies that all text/plain parts of the message(s)
 should be converted to
-.IR codeset .
-Codeset conversions require that
+.IR charset .
+Charset conversions require that
 .B nmh
 be built with
-.IR iconv (3).
+.IR iconv (3);
+see the
+.BR mhparam (1)
+man page for how determine whether your
+.B nmh
+installation includes that.
 To convert text parts other than text/plain, an external program can
 be used, via the
 .B \-reformat
@@ -88,6 +101,16 @@ inserts that text/plain part at the beginning of the containing
 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
@@ -138,7 +161,12 @@ switch directs
 .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
@@ -191,7 +219,7 @@ content type and/or encoding as follows:
 .nf
 .ta \w'\-fixboundary 'u
 \-decodetext   base64 and quoted-printable encoded text parts
-\-textcodeset  text/plain parts
+\-textcharset  text/plain parts
 \-reformat     text parts that are not text/plain
 \-fixboundary  outermost multipart part
 \-fixcte       multipart part
@@ -221,6 +249,24 @@ profile component and negates all prior
 .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
@@ -279,9 +325,12 @@ is checked.
 ^rmmproc:~^Program to delete original messages or files
 .fi
 .SH "SEE ALSO"
+.IR inc (1),
+.IR iconv (3),
 .IR mh-profile (5),
 .IR mhbuild (1),
 .IR mhlist (1),
+.IR mhparam (1),
 .IR mhshow (1),
 .IR mkstemp (3),
 .IR procmail (1),
@@ -293,8 +342,9 @@ is checked.
 .RB ` +folder "' defaults to the current folder"
 .RB ` msgs "' defaults to cur"
 .RB ` "\-decodetext 8bit"'
-.RB ` \-notextcodeset '
+.RB ` \-notextcharset '
 .RB ` \-reformat '
+.RB ` \-noreplacetextplain '
 .RB ` \-fixboundary '
 .RB ` \-fixcte '
 .RB ` \-noverbose '
@@ -304,4 +354,5 @@ If a folder is given, it will become the current folder.  The last
 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.