bug in texi2dvi, and hack patch

David Abrahams dave@boost-consulting.com
Sat Jan 15 19:11:00 GMT 2005


The latest /bin/texi2dvi contains (at line 102):

  # Systems which define $COMSPEC or $ComSpec use semicolons to separate
  # directories in TEXINPUTS.
  if test -n "$COMSPEC$ComSpec"; then
    path_sep=";"
  else
    path_sep=":"
  fi

I think I know what this is *trying* to accomplish, but I think it's
misguided.  At least on my system, all the environment variables defined
for my NT shell also show up in Cygwin, appropriately translated to use
":" separators.  So the above messes everything up when findprog(),
shown below, tries to locate the "tex" program:

findprog () {
  foundprog=false
  for dir in `echo $PATH | tr "$path_sep" " "`; do
    if test -x "$dir/$1"; then  # does anyone still need test -f?
      foundprog=true
      break
    fi
  done
  $foundprog
}

Paths end up being broken at spaces.  I'm actually a little concerned
about the code above because it seems to me that even after we fix the
path_sep problem it will fail to work correctly with paths containing
spaces.  I'm certain it's not the right long-term fix, but the little
hack patch I needed to get going again was to change line 105 from:

    path_sep=";"

to

    path_sep=":"

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com



More information about the Cygwin-patches mailing list