[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: texinfo.tex not included in the autoconf distribution

From: Alexandre Duret-Lutz
Subject: Re: texinfo.tex not included in the autoconf distribution
Date: Mon, 14 Oct 2002 22:57:25 +0200
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/20.7 (i386-debian-linux-gnu)

For bug-texinfo people, the start of this thread is here: 
and the mail I'm replying to is

(Aharon's mails contain no `References:' headers so the
archives are a bit hard to follow.)

This is texi2dvi (GNU Texinfo 4.2) 0.51

>>> "Aharon" == Aharon Robbins <address@hidden> writes:


 Aharon> + 
 Aharon> + 

Here is the culprit.  The `../config::/usr/local/lib/tex:/usr/local/tex/inputs'
part comes from the original TEXINPUTS variable.  The initial
part comes from texi2dvi.

The problem is that texi2dvi mistakenly adds `::' before `../config'.

The tex man page says

              An empty path component will be replaced with the
              paths defined in the texmf.cnf file.

so the default paths are searched before ../config; which explains why
the wrong `texinfo.tex' version is used.

I've been able to reproduce this, and the following patch appears to
fix it.

2002-10-14  Alexandre Duret-Lutz  <address@hidden>

        * util/texi2dvi (common, txincludes): Fix definitions so that
        and empty $txincludes doesn't result in a empty path element
        in TEXINPUTS.

--- util/texi2dvi       Mon Jun 24 16:54:32 2002
+++ util/texi2dvi       Mon Oct 14 22:22:45 2002
@@ -102,7 +102,7 @@
 tmpdir=${TMPDIR:-/tmp}/t2d$$  # avoid collisions on 8.3 filesystems.
-txincludes=     # TEXINPUTS extensions
+txincludes=     # TEXINPUTS extensions, with trailing colon
 txiprereq=19990129 # minimum texinfo.tex version to have macro expansion
 verbose=false   # echo for verbose mode
@@ -159,7 +159,7 @@
     -I | --I*)
       miincludes="$miincludes -I $1"
-      txincludes="$txincludes$path_sep$1"
+      txincludes="$txincludes$1$path_sep"
     -l | --l*) shift; set_language=$1;;
     -o | --o*)
@@ -363,8 +363,8 @@
   # etc. files in ${directory} don't get used in preference to fresher
   # files in `.'.  Include orig_pwd in case we are in clean mode, where
   # we've cd'd to a temp directory.
-   TEXINPUTS="$common$TEXINPUTS_orig"
+  common=".$path_sep$orig_pwd$path_sep$filename_dir$path_sep$txincludes"
+   TEXINPUTS="$common$TEXINPUTS_orig:"
   # If the user explicitly specified the language, use that.

Note that I've appended `:' to TEXINPUTS.   This is to workaround another
issue later in the script:

 Aharon> + txiversion_tex=txiversion.tex
 Aharon> + echo '\input texinfo.tex @bye'
 Aharon> ++ cd /tmp/t2d11797
 Aharon> ++ tex txiversion.tex
 Aharon> ++ sed -n 's/^.*\[\(.*\)version \(....\)-\(..\)-\(..\).*$/txiformat=\1 
 Aharon> + eval txiformat= 'txiversion="19990925"'
 Aharon> ++ txiformat=
 Aharon> ++ txiversion=19990925

Because this test case is run into another directory, tex can't find
`texinfo.tex' in `../config'.  

I think so far it has always worked thanks to the previous bug.
(Because of the unfortunate `::', the system's `texinfo.tex' was
found.)  So appending `:' to TEXINPUTS as in the above patch
seems to preserve the status quo.  I guess a better fix would be
to teach texi2dvi how to rewrite relative path components as
absolute paths.

BTW, I've found a similar report about this second issue here:
Alexandre Duret-Lutz

reply via email to

[Prev in Thread] Current Thread [Next in Thread]