filepath-bytestring 1.4.100.3.2 → 1.5.2.0.5
raw patch · 4 files changed
Files
- CHANGELOG +37/−8
- System/FilePath/Internal.hs +11/−4
- filepath-bytestring.cabal +10/−9
- tests/TestGen.hs +1/−0
CHANGELOG view
@@ -1,19 +1,48 @@-filepath-bytestring (1.4.100.3.2) unstable; urgency=medium+filepath-bytestring (1.5.2.0.5) unstable; urgency=medium - * Relax bounds to allow base-4.19.+ * Allow base bundled with GHC 9.14.1 - -- Joey Hess <id@joeyh.name> Mon, 29 Jul 2024 19:40:51 -0400+ -- Joey Hess <id@joeyh.name> Mon, 20 Apr 2026 09:53:42 -0400 -filepath-bytestring (1.4.100.3.1) unstable; urgency=medium+filepath-bytestring (1.5.2.0.4) unstable; urgency=medium - * Updated to filepath-1.4.100.3, which fixes a regression.- * Allow up to filepath-1.4.200.1.+ * Allow filepath-bytestring 1.5.5.0 bundled by GHC 9.12.4+ * Allow QuickCheck 2.16.*, 2.17.*, 2.18.* - -- Joey Hess <id@joeyh.name> Mon, 29 Jul 2024 19:27:57 -0400+ -- Joey Hess <id@joeyh.name> Mon, 16 Mar 2026 15:57:55 -0400 +filepath-bytestring (1.5.2.0.3) unstable; urgency=medium++ * Relax bounds to allow QuickCheck-2.15+ * Allow base and filepath bundled with GHC 9.12++ -- Joey Hess <id@joeyh.name> Mon, 04 Aug 2025 10:35:01 -0400++filepath-bytestring (1.5.2.0.2) unstable; urgency=medium++ * Relax bounds to allow base-4.20 (ghc 9.10.1).++ -- Joey Hess <id@joeyh.name> Mon, 20 Jan 2025 19:42:24 -0400++filepath-bytestring (1.5.2.0.1) unstable; urgency=medium++ * Relax bounds on filepath to all versions for which test suite passes.++ -- Joey Hess <id@joeyh.name> Mon, 20 Jan 2025 14:06:54 -0400++filepath-bytestring (1.5.2.0.0) unstable; urgency=medium++ * Update to correspond to filepath-1.5.2.0, which fixes a bug+ introduced in filepath-1.4.100.2.+ * normalise C:\\\\ to C:\++ -- Joey Hess <id@joeyh.name> Tue, 06 Feb 2024 10:33:31 -0400+ filepath-bytestring (1.4.2.1.13) unstable; urgency=medium * Relax bounds to allow base-4.18 and filepath-1.4.100.3 (ghc 9.6).+ (Note that this version did not replicate a bug introduced in+ filepath-1.4.100.2. So the test suite would sometimes fail.) -- Joey Hess <id@joeyh.name> Tue, 20 Jun 2023 12:22:31 -0400 @@ -49,7 +78,7 @@ They are approximately 2x and 3x as fast, respectively. * encodeFilePath and decodeFilePath used to truncate at the first NUL. The new implementations do not do this. Since unix filepaths- cannot contain NUL, this behavior change is can't cause any problems,+ cannot contain NUL, this behavior change can't cause any problems, unless the functions are used for values that are not actually valid filepaths. * Support cabal bench to benchmark the library.
System/FilePath/Internal.hs view
@@ -964,6 +964,7 @@ -- > Posix: normalise "./bob/fred/" == "bob/fred/" -- > Windows: normalise "c:\\file/bob\\" == "C:\\file\\bob\\" -- > Windows: normalise "c:\\" == "C:\\"+-- > Windows: normalise "c:\\\\\\\\" == "C:\\" -- > Windows: normalise "C:.\\" == "C:" -- > Windows: normalise "\\\\server\\test" == "\\\\server\\test" -- > Windows: normalise "//server/test" == "\\\\server\\test"@@ -1012,9 +1013,14 @@ normaliseDrive :: RawFilePath -> RawFilePath normaliseDrive "" = "" normaliseDrive _ | isPosix = B.singleton pathSeparator-normaliseDrive drive- | isJust (readDriveLetter x2) = upcasedriveletter x2- | otherwise = x2+normaliseDrive drive =+ case readDriveLetter x2 of+ Nothing -> x2+ Just (drv, _) ->+ case B.unpack drv of+ (x:_:[]) -> B.pack [upcasedriveletter x, colon]+ (x:_) -> B.pack [upcasedriveletter x, colon, pathSeparator]+ _ -> error "impossible" where x2 = B.map repSlash drive @@ -1022,7 +1028,8 @@ -- A Windows drive letter is an ascii character, so it's safe to -- operate on the ByteString containing it using B8.- upcasedriveletter = B8.map toUpper+ upcasedriveletter = fromIntegral . ord . toUpper . chr . fromIntegral+ colon = fromIntegral (ord ':') -- Information for validity functions on Windows. See [1]. isBadCharacter :: Word8 -> Bool
filepath-bytestring.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: filepath-bytestring-version: 1.4.100.3.2+version: 1.5.2.0.5 -- NOTE: Don't forget to update CHANGELOG and the filepath dependency below license: BSD3 license-file: LICENSE@@ -37,7 +37,7 @@ source-repository head type: git- location: git://git.joeyh.name/haskell-filepath-bytestring.git+ location: https://git.joeyh.name/git/haskell-filepath-bytestring.git library default-language: Haskell2010@@ -53,8 +53,9 @@ System.FilePath.Windows.ByteString build-depends:- base >= 4 && < 4.20,- bytestring >= 0.11.2.0+ base >= 4 && < 4.23,+ bytestring >= 0.11.3.0,+ filepath >= 1.4.100.4 && < 1.5.0.0 || >= 1.5.2.0 && <= 1.5.5.0 if os(Windows) build-depends: utf8-string else@@ -76,10 +77,10 @@ filepath-bytestring, base, bytestring >= 0.11.2.0,- QuickCheck >= 2.7 && < 2.15,- -- Versions of filepath that are equvilant to this- -- library, for quickcheck equivilance tests.- filepath >= 1.4.100.3 && <= 1.4.200.1+ QuickCheck >= 2.7 && < 2.19,+ -- Versions of filepath that are equivalent to this+ -- library, for quickcheck equivalence tests.+ filepath >= 1.4.100.4 && < 1.5.0.0 || >= 1.5.2.0 && <= 1.5.5.0 benchmark filepath-bench type: exitcode-stdio-1.0@@ -92,4 +93,4 @@ criterion, filepath-bytestring, -- Version of filepath to benchmark against- filepath >= 1.4.100.3 && <= 1.4.200.1+ filepath >= 1.4.2 && <= 1.4.2.1
tests/TestGen.hs view
@@ -395,6 +395,7 @@ ,("P.normalise \"./bob/fred/\" == \"bob/fred/\"", property $ P.normalise "./bob/fred/" == "bob/fred/") ,("W.normalise \"c:\\\\file/bob\\\\\" == \"C:\\\\file\\\\bob\\\\\"", property $ W.normalise "c:\\file/bob\\" == "C:\\file\\bob\\") ,("W.normalise \"c:\\\\\" == \"C:\\\\\"", property $ W.normalise "c:\\" == "C:\\")+ ,("W.normalise \"c:\\\\\\\\\\\\\\\\\" == \"C:\\\\\"", property $ W.normalise "c:\\\\\\\\" == "C:\\") ,("W.normalise \"C:.\\\\\" == \"C:\"", property $ W.normalise "C:.\\" == "C:") ,("W.normalise \"\\\\\\\\server\\\\test\" == \"\\\\\\\\server\\\\test\"", property $ W.normalise "\\\\server\\test" == "\\\\server\\test") ,("W.normalise \"//server/test\" == \"\\\\\\\\server\\\\test\"", property $ W.normalise "//server/test" == "\\\\server\\test")