Home | History | Annotate | Line # | Download | only in util
      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 
     71