| 1 | #!/bin/sh
|
|---|
| 2 | # Auxiliary script to work around TeX 3.0 bug. ---- tex3patch ----
|
|---|
| 3 | # patches texinfo.tex in current directory, or in directory given as arg.
|
|---|
| 4 |
|
|---|
| 5 | ANYVERSION=no
|
|---|
| 6 |
|
|---|
| 7 | for arg in $1 $2
|
|---|
| 8 | do
|
|---|
| 9 | case $arg in
|
|---|
| 10 | --dammit | -d ) ANYVERSION=yes ;;
|
|---|
| 11 |
|
|---|
| 12 | * ) dir=$arg
|
|---|
| 13 | esac
|
|---|
| 14 | done
|
|---|
| 15 |
|
|---|
| 16 | if [ -z "$dir" ]; then
|
|---|
| 17 | dir='.'
|
|---|
| 18 | fi
|
|---|
| 19 |
|
|---|
| 20 | if [ 2 -lt $# ] || [ ! -f "$dir/texinfo.tex" ]; then
|
|---|
| 21 | echo "To patch texinfo.tex for peaceful coexistence with Unix TeX 3.0,"
|
|---|
| 22 | echo "run $0"
|
|---|
| 23 | echo "with no arguments in the same directory as texinfo.tex; or run"
|
|---|
| 24 | echo " $0 DIRECTORY"
|
|---|
| 25 | echo "(where DIRECTORY is a path leading to texinfo.tex)."
|
|---|
| 26 | exit
|
|---|
| 27 | fi
|
|---|
| 28 |
|
|---|
| 29 | if [ -z "$TMPDIR" ]; then
|
|---|
| 30 | TMPDIR=/tmp
|
|---|
| 31 | fi
|
|---|
| 32 |
|
|---|
| 33 | echo "Checking for \`dummy.tfm'"
|
|---|
| 34 |
|
|---|
| 35 | ( cd $TMPDIR; tex '\relax \batchmode \font\foo=dummy \bye' )
|
|---|
| 36 |
|
|---|
| 37 | grep -s '3.0' $TMPDIR/texput.log
|
|---|
| 38 | if [ 1 = "$?" ] && [ "$ANYVERSION" != "yes" ]; then
|
|---|
| 39 | echo "You probably do not need this patch,"
|
|---|
| 40 | echo "since your TeX does not seem to be version 3.0."
|
|---|
| 41 | echo "If you insist on applying the patch, run $0"
|
|---|
| 42 | echo "again with the option \`--dammit'"
|
|---|
| 43 | exit
|
|---|
| 44 | fi
|
|---|
| 45 |
|
|---|
| 46 | grep -s 'file not found' $TMPDIR/texput.log
|
|---|
| 47 | if [ 0 = $? ]; then
|
|---|
| 48 | echo "This patch requires the dummy font metric file \`dummy.tfm',"
|
|---|
| 49 | echo "which does not seem to be part of your TeX installation."
|
|---|
| 50 | echo "Please get your TeX maintainer to install \`dummy.tfm',"
|
|---|
| 51 | echo "then run this script again."
|
|---|
| 52 | exit
|
|---|
| 53 | fi
|
|---|
| 54 | rm $TMPDIR/texput.log
|
|---|
| 55 |
|
|---|
| 56 | echo "Patching $dir/texinfo.tex"
|
|---|
| 57 |
|
|---|
| 58 | sed -e 's/%%*\\font\\nullfont/\\font\\nullfont/' \
|
|---|
| 59 | $dir/texinfo.tex >$TMPDIR/texinfo.tex
|
|---|
| 60 | mv $dir/texinfo.tex $dir/texinfo.tex-distrib; mv $TMPDIR/texinfo.tex $dir
|
|---|
| 61 |
|
|---|
| 62 | if [ 0 = $? ]; then
|
|---|
| 63 | echo "Patched $dir/texinfo.tex to avoid TeX 3.0 bug."
|
|---|
| 64 | echo "The original version is saved as $dir/texinfo.tex-distrib."
|
|---|
| 65 | else
|
|---|
| 66 | echo "Patch failed. Sorry."
|
|---|
| 67 | fi
|
|---|
| 68 | ----------------------------------------tex3patch ends
|
|---|
| 69 |
|
|---|
| 70 |
|
|---|