
Hello Seth, Sunday, November 4, 2007, 10:15:14 PM, you wrote: i just simplified my description. console programs has current directory" on each drive and inherit it from parent program. i don't know exact behavior of GUI programs. shlwapi.dll is just helper dll which contains various string functions in particular. i don't think that it defines "Windows API" although i may be wrong here i don't use cygwin and imho its behavior is not definitive in this case
The fact that the behavior (where a current directory is maintained) is related to the command interpreter certainly changes things. Command interpreter programs are not insignificant (if you use cygwin, or something similar), but logically if the win32 API behaves differently, then the win32 API behavior is (IMO) the properly expected behavior.
What is the behavior of programs compiled within cygwin?
Seth Kurtzberg Software Engineer Specializing in Security, Reliability, and the Hardware/Software Interface
-----Original Message----- From: Bulat Ziganshin [mailto:bulat.ziganshin@gmail.com] Sent: Sunday, November 04, 2007 9:27 AM To: Twan van Laarhoven Cc: Seth Kurtzberg; 'Bulat Ziganshin'; libraries@haskell.org Subject: Re[2]: System.FilePath.joinDrive problem
Hello Twan,
Sunday, November 4, 2007, 2:33:44 AM, you wrote:
The reason I came upon this problem was that my %ProgramFiles% was set to "E:". For years this has worked without incident, all programs handle this just fine. The only program that doesn't accept this is cabal.
i think that you just violated agreement that here absolute path should be used. while your program was GUI ones, e: and e:\ was the same, but when you installed console program that inherits its environment from cmd, things goes wrong. is it possible to use "e:\" here?
-- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com