| #!/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 |
| |
| |