: tst "[ cmp | old | new ] item ..."
HTML2RTF=${HTML2RTF:-html2rtf}
TROFF2HTML=${TROFF2HTML:-troff2html}
command=tst
function error
{
print -u2 $command: "$@"
exit 1
}
function usage
{
print -u2 Usage: "$command [ cmp | new | old ] item ..."
exit 2
}
suffixes="html rtf"
case $# in
0|1) usage ;;
esac
op=$1
shift
for item
do test -f $item || error $item: not found
base=${item%.*}
case $item in
*.[0-9]*)
macros=-man
;;
*) macros=-mm
;;
esac
case $op in
cmp) for suffix in $suffixes
do for prefix in old new
do test -f $prefix-$base.$suffix || error $prefix-$base.$suffix: not found
done
cmp -s new-$base.$suffix old-$base.$suffix || print -u2 $base $suffix output differs
done
;;
new) prefix=$op
$TROFF2HTML $macros $item > $prefix-$base.html
$HTML2RTF $prefix-$base.html > $prefix-$base.rtf
;;
old) for suffix in $suffixes
do for prefix in old new
do test -f $prefix-$base.$suffix || error $prefix-$base.$suffix: not found
done
mv new-$base.$suffix old-$base.$suffix
done
;;
*) usage
;;
esac
done