On Wed, Mar 17, 2010 at 12:05:20PM -0600, Eric Blake wrote: >On 03/16/2010 09:07 AM, Corinna Vinschen wrote: >>I checked this situation in cmd.exe, and it is not capable of using >>paths relativ to %Path%. In other words, if %Path% contains a path >>c:\foo and you have two files C:\foo\baz.exe and C:\foo\bar\baz.exe, >>then calling "baz" works, but calling "bar\baz" fails. OTOH, the >>SearchPath function does it right. > >POSIX says PATH searches are only performed on single components; they >are skipped if the argument contains /. That is: > >PATH=/b c/d > >will NOT execute /b/c/d (unless you happen to be in /b at the time); >rather it MUST execute ./c/d or fail altogether. Another term for this >(at least, in the bash sources) is the notion of an anchored search - >even though the requested name is relative, the fact that it contains a >/ means it does not trigger a PATH search, but is anchored in the >current directory. > >Therefore, I see no reason why we shouldn't behave the same for \, >since we are treating it as a directory separator. That is, if you >have both c:\foo\baz.exe and c:\foo\bar\baz.exe, then calling bar\baz >should NOT care whether c:\foo is in %Path%, but should only work if >.\bar\baz exists.
I agree 100%. Luckily, I don't think the OP was asking for this anyway. cgf -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple