]> diplodocus.org Git - nmh/blobdiff - etc/mhn.defaults.sh
new.c: Order two return statements to match comment.
[nmh] / etc / mhn.defaults.sh
index 7b894498ea0b8af9691a3f0aa79aa13a6511ef4b..0253f283d7eeb76c33ff083743b9e0b875601ff2 100755 (executable)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
 #
 # mhn.defaults.sh -- create extra profile file for MIME handling
 #
@@ -25,30 +25,29 @@ fi
 TMP=/tmp/nmh_temp.$$
 trap "rm -f $TMP" 0 1 2 3 13 15
 
-PGM=`$SEARCHPROG "$SEARCHPATH" w3m`
-if [ ! -z "$PGM" ]; then
-    echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
-$PGM "'-dump ${charset:+-I "$charset"} -O utf-8 -T text/html %F' >> $TMP
+if [ ! -z `$SEARCHPROG "$SEARCHPATH" par` ]; then
+    #### The widths here correspond to those for the text browsers below.
+    textfmt=' | par 64'
+    replfmt=" | sed 's/^\(.\)/> \1/; s/^$/>/;' | par 64"
+elif [ ! -z `$SEARCHPROG "$SEARCHPATH" fmt` ]; then
+    textfmt=' | fmt'
+    replfmt=" | fmt | sed 's/^\(.\)/> \1/; s/^$/>/;'"
 else
-    PGM=`$SEARCHPROG "$SEARCHPATH" lynx`
-    if [ ! -z "$PGM" ]; then
-        #### lynx indents with 3 spaces, remove them and any trailing spaces.
-        echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
-$PGM "'-child -dump -force_html ${charset:+--assume_charset "$charset"} %F | '"\
-expand | sed -e 's/^   //' -e 's/  *$//'" >> $TMP
-    else
-        PGM=`$SEARCHPROG "$SEARCHPATH" elinks`
-        if [ ! -z "$PGM" ]; then
-          echo "mhfixmsg-format-text/html: $PGM -dump -force-html \
--no-numbering -eval 'set document.browse.margin_width = 0' %F" >> $TMP
-    fi
-  fi
+    textfmt=
+    replfmt=
 fi
+[ ! -z `$SEARCHPROG "$SEARCHPATH" iconv` ]  &&
+    charsetconv=' | iconv -f ${charset:-us-ascii} -t utf-8'"${textfmt}"  ||
+    charsetconv=
 
-echo "mhstore-store-text: %m%P.txt" >> $TMP
-echo "mhstore-store-text/richtext: %m%P.rt" >> $TMP
-echo "mhstore-store-video/mpeg: %m%P.mpg" >> $TMP
-echo "mhstore-store-application/PostScript: %m%P.ps" >> $TMP
+cat >>"$TMP" <<'EOF'
+mhstore-store-text: %m%P.txt
+mhstore-store-text/calendar: %m%P.ics
+mhstore-store-text/html: %m%P.html
+mhstore-store-text/richtext: %m%P.rt
+mhstore-store-video/mpeg: %m%P.mpg
+mhstore-store-application/PostScript: %m%P.ps
+EOF
 
 PGM=`$SEARCHPROG "$SEARCHPATH" xwud`
 if [ ! -z "$PGM" ]; then
@@ -128,9 +127,11 @@ fi
 #### mhbuild-disposition-<type>[/<subtype>] entries are used by the
 #### WhatNow attach for deciding whether the Content-Disposition
 #### should be 'attachment' or 'inline'.  Only those values are
-#### supported.
+#### supported.  mhbuild-convert-text/html is defined below.
 ####
-cat <<EOF >> ${TMP}
+cat <<EOF >>${TMP}
+mhbuild-convert-text/calendar: mhical -infile %F -contenttype
+mhbuild-convert-text: charset=%{charset}; iconv -f \${charset:-us-ascii} -t utf-8 %F${replfmt}
 mhbuild-disposition-text/calendar: inline
 mhbuild-disposition-message/rfc822: inline
 EOF
@@ -180,6 +181,11 @@ else
     fi
 fi
 
+echo "mhshow-show-text/calendar: mhical -infile %F" >> $TMP
+echo "mhshow-show-application/ics: mhical -infile %F" >> $TMP
+echo "mhfixmsg-format-text/calendar: mhical -infile %F" >> $TMP
+echo "mhfixmsg-format-application/ics: mhical -infile %F" >> $TMP
+
 PGM=`$SEARCHPROG "$SEARCHPATH" ivs_replay`
 if [ ! -z "$PGM" ]; then
        echo "mhshow-show-application/x-ivs: %l$PGM -o %F" >> $TMP
@@ -258,6 +264,7 @@ mhshow-suffix-image/jpeg: .jpg
 mhshow-suffix-image/png: .png
 mhshow-suffix-image/tiff: .tif
 mhshow-suffix-image/tiff: .tiff
+mhshow-suffix-text: .txt
 mhshow-suffix-text/calendar: .ics
 mhshow-suffix-text/css: .css
 mhshow-suffix-text/html: .html
@@ -281,18 +288,37 @@ EOF
 PGM=`$SEARCHPROG "$SEARCHPATH" w3m`
 if [ ! -z "$PGM" ]; then
     echo 'mhshow-show-text/html: charset=%{charset}; '"\
-%l$PGM"' -dump ${charset:+-I "$charset"} -T text/html %F' >> $TMP
+%l$PGM"' -dump ${charset:+-I} ${charset:+"$charset"} -T text/html %F' >> $TMP
+    echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
+$PGM "'-dump ${charset:+-I} ${charset:+"$charset"} -O utf-8 -T text/html %F' \
+         >> $TMP
+    echo 'mhbuild-convert-text/html: charset=%{charset}; '"\
+$PGM "'-dump ${charset:+-I} ${charset:+"$charset"} -O utf-8 -T text/html %F '"\
+${replfmt}" >> $TMP
 else
     PGM=`$SEARCHPROG "$SEARCHPATH" lynx`
     if [ ! -z "$PGM" ]; then
        echo 'mhshow-show-text/html: charset=%{charset}; '"\
-%l$PGM"' -child -dump -force-html ${charset:+--assume_charset "$charset"} %F' >> $TMP
+%l$PGM"' -child -dump -force-html ${charset:+--assume_charset} ${charset:+"$charset"} %F' >> $TMP
+        #### lynx indents with 3 spaces, remove them and any trailing spaces.
+        echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
+$PGM "'-child -dump -force_html ${charset:+--assume_charset} ${charset:+"$charset"} %F | '"\
+expand | sed -e 's/^   //' -e 's/  *$//'" >> $TMP
+        echo 'mhbuild-convert-text/html: charset=%{charset}; '"\
+$PGM "'-child -dump -force_html ${charset:+--assume_charset} ${charset:+"$charset"} '"\
+%F${replfmt}" >> $TMP
     else
-      PGM=`$SEARCHPROG "$SEARCHPATH" elinks`
-      if [ ! -z "$PGM" ]; then
-          echo "mhshow-show-text/html: $PGM -dump -force-html \
+        PGM=`$SEARCHPROG "$SEARCHPATH" elinks`
+        if [ ! -z "$PGM" ]; then
+            echo "mhshow-show-text/html: %l$PGM -dump -force-html \
 -eval 'set document.browse.margin_width = 0' %F" >> $TMP
-      fi
+            echo "mhfixmsg-format-text/html: $PGM -dump -force-html \
+-no-numbering -eval 'set document.browse.margin_width = 0' %F" >> $TMP
+            echo "mhbuild-convert-text/html: $PGM -dump -force-html \
+-no-numbering -eval 'set document.browse.margin_width = 0' %F${replfmt}" >> $TMP
+        else
+            echo 'mhbuild-convert-text/html: cat %F' >> $TMP
+        fi
     fi
 fi
 
@@ -316,7 +342,7 @@ fi
 # access-type.
 case "`uname`" in
   FreeBSD)
-       echo "nmh-access-url: fetch -a -o -" >> $TMP
+       echo "nmh-access-url: fetch -o -" >> $TMP
        ;;
   *)
        PGM=`$SEARCHPROG "$SEARCHPATH" curl`
@@ -326,8 +352,11 @@ case "`uname`" in
        ;;
 esac
 
-# output a sorted version of the file
-sort < $TMP
+# Output a sorted version of the file, along with some comments in
+# appropriate places.
+echo '#: This file was generated by mhn.defaults.sh.'
+sort < $TMP | \
+    sed -e 's|^\(mhshow-show-application/ics:.*\)|#: might need -notextonly -noinlineonly or -part/-type to show application/ics parts\n\1|'
 
 exit 0