freebsd-nq/contrib/texinfo/util/tex3patch

72 lines
1.8 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# Auxiliary script to work around TeX 3.0 bug. ---- tex3patch ----
# patches texinfo.tex in current directory, or in directory given as arg.
ANYVERSION=no
for arg in $1 $2
do
case $arg in
--dammit | -d ) ANYVERSION=yes ;;
* ) dir=$arg
esac
done
if [ -z "$dir" ]; then
dir='.'
fi
if [ \( 2 -lt $# \) -o \
\( ! -f $dir/texinfo.tex \) ]; then
echo "To patch texinfo.tex for peaceful coexistence with Unix TeX 3.0,"
echo "run $0"
echo "with no arguments in the same directory as texinfo.tex; or run"
echo " $0 DIRECTORY"
echo "(where DIRECTORY is a path leading to texinfo.tex)."
exit
fi
if [ -z "$TMPDIR" ]; then
TMPDIR=/tmp
fi
echo "Checking for \`dummy.tfm'"
( cd $TMPDIR; tex '\relax \batchmode \font\foo=dummy \bye' )
grep -s '3.0' $TMPDIR/texput.log
if [ 1 = "$?" -a "$ANYVERSION" != "yes" ]; then
echo "You probably do not need this patch,"
echo "since your TeX does not seem to be version 3.0."
echo "If you insist on applying the patch, run $0"
echo "again with the option \`--dammit'"
exit
fi
grep -s 'file not found' $TMPDIR/texput.log
if [ 0 = $? ]; then
echo "This patch requires the dummy font metric file \`dummy.tfm',"
echo "which does not seem to be part of your TeX installation."
echo "Please get your TeX maintainer to install \`dummy.tfm',"
echo "then run this script again."
exit
fi
rm $TMPDIR/texput.log
echo "Patching $dir/texinfo.tex"
sed -e 's/%%*\\font\\nullfont/\\font\\nullfont/' \
$dir/texinfo.tex >$TMPDIR/texinfo.tex
mv $dir/texinfo.tex $dir/texinfo.tex-distrib; mv $TMPDIR/texinfo.tex $dir
if [ 0 = $? ]; then
echo "Patched $dir/texinfo.tex to avoid TeX 3.0 bug."
echo "The original version is saved as $dir/texinfo.tex-distrib."
else
echo "Patch failed. Sorry."
fi
----------------------------------------tex3patch ends