Changelog for Glob-0.4

0.4, 2009-01-31: New functions: System.FilePath.Glob.commonDirectory :: Pattern -> (FilePath, Pattern) System.FilePath.Glob.simplify :: Pattern -> Pattern System.FilePath.Glob.decompile :: Pattern -> String System.FilePath.Glob.tryCompileWith :: CompOptions -> String -> Either String Pattern System.FilePath.Glob.compileWith :: CompOptions -> String -> Pattern System.FilePath.Glob.compDefault :: CompOptions System.FilePath.Glob.compPosix :: CompOptions System.FilePath.Glob.matchWith :: MatchOptions -> Pattern -> FilePath -> Bool System.FilePath.Glob.globDirWith :: MatchOptions -> [Pattern] -> FilePath -> IO ([[FilePath]], [FilePath]) System.FilePath.Glob.matchDefault :: MatchOptions System.FilePath.Glob.matchPosix :: MatchOptions System.FilePath.Glob.Primitives.literal :: String -> Pattern System.FilePath.Glob.Primitives.singleWildcard :: Pattern System.FilePath.Glob.Primitives.wildcard :: Pattern System.FilePath.Glob.Primitives.recursiveWildcard :: Pattern System.FilePath.Glob.Primitives.charRange :: Bool -> [Either Char (Char,Char)] -> Pattern System.FilePath.Glob.Primitives.numberRange :: Maybe Integer -> Maybe Integer -> Pattern Removed functions: System.FilePath.Glob.tryCompile (no longer needed / superceded by tryCompileWith) New instances: Monoid Pattern Read Pattern Change: ".." can now be matched, by patterns such as ".*". Change: globDir, given "" as the directory, uses getCurrentDirectory. Change: globDir now keeps track of the number of path separators, thus "a//*" will return "a//b" instead of "a/b" as a match result. Change: if character ranges begin with ! or ^, these characters are now considered the start of the range: [^-~] is the range ^ through ~, not the inverse of [-~]. Regression fix: handle directories without read permissions even more properly. Bug fix: globDir doesn't convert patterns like "a./b" to "ab". Bug fix: the Show instance used to show "[?]" as the very different "?" (and a few similar cases). Bug fix: "//./" wasn't getting optimized properly. Bug fix: ".//a" matched "/a" and not "a" or "./a". Bug fix: "f**/a" didn't match "foo/a". Bug fix: ".**/a" didn't match ".foo/a". Bug fix: ".**/a" matched "../a". Bug fixes: globDir and match, in general, handled patterns starting with ".*" or ".**/" quite differently. Bug fix: globDir never matched "foo/" to the directory "foo". Bug fix: globDir never matched "foo**/" to the directory "foo". Bug fix: show (compile "[a!b]") resulted in "[!ab]". 0.3.2, 2008-12-20: Regression fix: handle directories without read permissions properly. Convenience for developers: -XTemplateHaskell no longer barfs on Compile.hs. 0.3.1, 2008-10-31: Corrected the Cabal-Version field. 0.3, 2008-10-19: Further performance improvements to globDir. Bug fix: handle empty pattern lists correctly in globDir. Added dependency: Win32, for Windows OSs. 0.2, 2008-10-18: Performance improvements to globDir, no functionality changes. Added dependency: dlist. 0.1, 2008-10-17: Initial release. Functions: System.FilePath.Glob.tryCompile :: String -> Either String Pattern System.FilePath.Glob.compile :: String -> Pattern System.FilePath.Glob.match :: Pattern -> FilePath -> Bool System.FilePath.Glob.globDir :: [Pattern] -> FilePath -> IO ([[FilePath]], [FilePath]) Dependencies: base, containers, directory, filepath, mtl.