[GHC] #8752: System.FilePath.Windows.combine does not really check isAbsolute

GHC ghc-devs at haskell.org
Sat Feb 8 21:41:11 UTC 2014


#8752: System.FilePath.Windows.combine does not really check isAbsolute
-------------------------------------+---------------------------------
       Reporter:  joeyhess           |             Owner:
           Type:  bug                |            Status:  new
       Priority:  normal             |         Milestone:
      Component:  libraries (other)  |           Version:  7.6.3
       Keywords:  filepath           |  Operating System:  Windows
   Architecture:  Unknown/Multiple   |   Type of failure:  None/Unknown
     Difficulty:  Unknown            |         Test Case:
     Blocked By:                     |          Blocking:
Related Tickets:                     |
-------------------------------------+---------------------------------
 "Combine two paths, if the second path isAbsolute, then it returns the
 second.¨

 But, the implementation of combine checks if the first character of a path
 is a path separator, which on Windows is not the same as checking if
 isAbsolute.

 This can have counterintuitive results. For example:

 {{{
     import System.FilePath.Windows

     prop_windows_is_sane :: Bool
     prop_windows_is_sane = isAbsolute p || ("C:\\STUFF" </> p /= p)
       where p = "\\foo\\bar"
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8752>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list