filepath

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Sun Dec 9 17:49:02 EST 2007


On Sun, 2007-12-09 at 22:08 +0000, Ian Lynagh wrote:
> On Sun, Dec 09, 2007 at 08:20:15PM +0000, Duncan Coutts wrote:
> > 
> > On Sun, 2007-12-09 at 20:00 +0000, Ian Lynagh wrote:
> > > On Sun, Dec 09, 2007 at 11:47:43AM -0800, Bryan O'Sullivan wrote:
> > > > 
> > > > As you can now imagine, this has no relation to how a Haskell program
> > > > should be manipulating paths.
> > > 
> > > It also affects rawSystem:
> > > 
> > >     $ ghc -e 'System.Cmd.rawSystem "s" []'
> > >     ExitFailure 127
> > >     $ ghc -e 'System.Cmd.rawSystem "./s" []'
> > >     hi
> > >     ExitSuccess
> > > 
> > > but I'm not convinced that isn't a bug too.
> > 
> > That is because it also uses the system path. See execvp vs execve.
> 
> Right, but is that what it ought to do?

If not there's no way to execute a program that lives in the current
directory if there is also a program by that name earlier on the search
path, like in /bin.

If exec "./true" and "true" have to run the same program.

So the point is when it comes to search paths, a ./ path is not really
relative at all.

Duncan



More information about the Libraries mailing list