#1535: Proposal: expose the drive functions in the filepath package
-----------------------------+----------------------------------------------
  Reporter:  igloo           |          Owner:         
      Type:  proposal        |         Status:  new    
  Priority:  normal          |      Milestone:  Not GHC
 Component:  libraries/base  |        Version:  6.6.1  
  Severity:  normal          |       Keywords:         
Difficulty:  Unknown         |             Os:  Unknown
  Testcase:                  |   Architecture:  Unknown
-----------------------------+----------------------------------------------
This comes out of #1490, where, in createDirectoryIfMissing, we use stat
 to determine if a directory exists.

 (I don't think catching an exception is a possibility in this case, as
 mkdir returns EEXIST if "pathname already exists (not necessarily as a
 directory)", so we can't distinguish between the directory already
 existing and a file existing with the name that we want. Short of doing
 something ugly like trying to make (path ++ "/.") and seeing if we get
 ENOTDIR, anyway).

 The problem is that mingw's stat succeeds for C:\ and C:\foo but fails for
 C: and C:\foo\. The current code strips a trailing \ before calling stat,
 and thus fails if asked to create C:\ (which we always do if "make
 parents" is true, and of course this path could be given explicitly by a
 user).

 What we want is something like
 {{{
 if isDrive x
 then addTrailingPathSeparator x
 else dropTrailingPathSeparator x
 }}}
 except filepath currently doesn't export isDrive, for reasons I'm not
 entirely clear on.

 Thus I propose exposing the *Drive functions from the filepath package.
 The patch, which I will attach, is rather trivial as the code is already
 written, tested etc, just not exposed.

 Let's try until 21 July for a discussion period.

 Please try to accompany any objections with a (clean) alternative solution
 to the original problem.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1535>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to