X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/e996186ed31572ee94c32abf6083f57d69777888..446ea5cdf294085b18e25abd39378f9d555dbda8:/man/mhfixmsg.man diff --git a/man/mhfixmsg.man b/man/mhfixmsg.man index ea342330..3bb8e84e 100644 --- a/man/mhfixmsg.man +++ b/man/mhfixmsg.man @@ -1,4 +1,4 @@ -.TH MHFIXMSG %manext1% "February 8, 2014" "%nmhversion%" +.TH MHFIXMSG %manext1% "November 30, 2014" "%nmhversion%" .\" .\" %nmhwarning% .\" @@ -28,6 +28,7 @@ mhfixmsg \- rewrite MIME messages with various transformations .RB [ \-rmmproc .IR program ] .RB [ \-normmproc ] +.RB [ \-changecur " | " \-nochangecur ] .RB [ \-verbose " | " \-noverbose ] .RB [ \-version ] .RB [ \-help ] @@ -76,7 +77,12 @@ should be converted to 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 @@ -115,7 +121,7 @@ uses its mhshow-show-text/subtype entries. When .B nmh is installed, it searches for a conversion program for text/html content, and if one is found, inserts a mhfixmsg-format-text/html -entry in %etcdir%/mhn.defaults. An entry of the same name in the +entry in %nmhetcdir%/mhn.defaults. An entry of the same name in the user's profile takes precedence. The user can add entries for other text subtypes to their profile. .PP @@ -143,12 +149,28 @@ and other .B nmh programs that parse MIME messages. .PP +.B mhfixmsg +applies one transformation unconditionally: it removes an extraneous +trailing semicolon from the parameter lists of MIME header fields. +.PP The .B \-verbose switch directs .B mhfixmsg to output informational message for each transformation applied. .PP +The return status of +.B mhfixmsg +is 0 if all of the requested transformations are performed, or +non-zero otherwise. +.RB ( mhfixmsg +will not decode to binary content, but a request to do so is +not considered a failure, and is noted with +.BR \-verbose .) +If a problem is detected with any one of multiple messages such that +the return status is non-zero, then none of the messages will be +modified. +.PP The .B \-file .I file @@ -203,7 +225,7 @@ to add a single transformed message to a different folder, e.g., .RS 5 mhfixmsg -outfile - | \\ .RS 0 -%libdir%/rcvstore +folder +%nmhlibexecdir%/rcvstore +folder .RE .RE .SS Summary of Applicability @@ -256,12 +278,19 @@ call .B mhfixmsg immediately after a successful invocation of .BR inc . -For example, with bash: +One approach could be based on: .PP .RS 5 -alias inc='inc && mhfixmsg' +msgs=`inc -format '%(msg)'` && [ -n "$msgs" ] && scan $msgs && \ +mhfixmsg -nochangecur $msgs .RE .PP +Another approach would rely on adding a sequence to Unseen-Sequence, +which +.B inc +sets with the newly incorporated messages. Those could then be +supplied to +.BR mhfixmsg . .SS "Integration with procmail" By way of example, here is an excerpt from a procmailrc file that filters messages through @@ -271,11 +300,9 @@ before storing them in the user's folder. It also stores the incoming message in the .I Backups folder in a filename generated by -.BR mktemp , +.BR mkstemp , which is a non-POSIX utility to generate a temporary file. -If you do not have that utility, then the -.BR mkstemp (3) -function could form the basis for a substitute. Or, +Alternatively, .B mhfixmsg could be called on the message after it is stored. .PP @@ -284,13 +311,14 @@ could be called on the message after it is stored. .ta \w'\-fixboundary 'u PATH = %bindir%:$PATH MAILDIR = `mhparam path` -MKTEMP = 'mktemp Backups/mhfixmsg.XXXXXXXX' +#### The Backups directory is relative to MAILDIR. +MKSTEMP = 'mkstemp -directory Backups -prefix mhfixmsg' MHFIXMSG = 'mhfixmsg -noverbose -file - -outfile -' -STORE = %libdir%/rcvstore +STORE = %nmhlibexecdir%/rcvstore -:0 w: nmh-worker/procmail.$LOCKEXT +:0 w: nmh-workers/procmail.$LOCKEXT * ^TOnmh-workers@nongnu.org -| tee `$MKTEMP` | $MHFIXMSG | $STORE +nmh-workers +| tee `$MKSTEMP` | $MHFIXMSG | $STORE +nmh-workers .fi .RE .PP @@ -301,14 +329,14 @@ accessed directly, tilde expansion is done on usernames, and files are searched for in the user's .I Mail directory as specified in their profile. If not found there, the directory -.RI \*(lq %etcdir% \*(rq +.RI \*(lq %nmhetcdir% \*(rq is checked. .PP .fc ^ ~ .nf -.ta \w'%etcdir%/mhn.defaults 'u +.ta \w'%nmhetcdir%/mhn.defaults 'u ^$HOME/\&.mh\(ruprofile~^The user profile -^%etcdir%/mhn.defaults~^Default mhfixmsg conversion entries +^%nmhetcdir%/mhn.defaults~^Default mhfixmsg conversion entries .fi .SH "PROFILE COMPONENTS" .fc ^ ~ @@ -325,8 +353,9 @@ is checked. .IR mh-profile (5), .IR mhbuild (1), .IR mhlist (1), +.IR mhparam (1), .IR mhshow (1), -.IR mkstemp (3), +.IR mh-mkstemp (1), .IR procmail (1), .IR procmailrc (5), .IR rcvstore (1), @@ -341,12 +370,15 @@ is checked. .RB ` \-noreplacetextplain ' .RB ` \-fixboundary ' .RB ` \-fixcte ' +.RB ` \-changecur ' .RB ` \-noverbose ' .fi .SH CONTEXT If a folder is given, it will become the current folder. The last -message selected from a folder will become the current message. If +message selected from a folder will become the current message, unless the +.B \-nochangecur +switch is enabled. If the .B \-file switch or an absolute pathname is used, the context will not be modified.