Subject: bug in texi2dvi, and hack patch
From: David Abrahams <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 15 Jan 2005 13:42:40 -0500

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

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/