FileManip 0.3.2 → 0.3.3
raw patch · 6 files changed
+56/−8 lines, 6 filesdep +extensible-exceptionsdep ~basePVP ok
version bump matches the API change (PVP)
Dependencies added: extensible-exceptions
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- FileManip.cabal +8/−4
- LICENSE +1/−1
- System/FilePath/Error.hs +42/−0
- System/FilePath/Find.hs +1/−1
- System/FilePath/Glob.hs +2/−1
- System/FilePath/Manip.hs +2/−1
FileManip.cabal view
@@ -1,5 +1,5 @@ Name: FileManip-Version: 0.3.2+Version: 0.3.3 License: BSD3 License-File: LICENSE Author: Bryan O'Sullivan <bos@serpentine.com>@@ -10,6 +10,8 @@ Includes code for pattern matching, finding files, modifying file contents, and more. Cabal-version: >= 1.2+Build-type: Simple+ Extra-Source-Files: README Flag splitBase@@ -17,13 +19,15 @@ Library if flag(splitBase)- Build-Depends: base, bytestring, directory, filepath, mtl, unix+ Build-Depends: base >= 2 && < 5, bytestring, directory, filepath, mtl, unix, extensible-exceptions else- Build-Depends: base, filepath, mtl, unix+ Build-Depends: base >= 2 && < 5, filepath, mtl, unix, extensible-exceptions - GHC-Options: -Wall -O2+ GHC-Options: -Wall Exposed-Modules: System.FilePath.Find, System.FilePath.Glob, System.FilePath.GlobPattern, System.FilePath.Manip+ Other-Modules:+ System.FilePath.Error
LICENSE view
@@ -1,4 +1,4 @@-Copyright 2007, 2008 Bryan O'Sullivan.+Copyright (c) Bryan O'Sullivan 2007, 2010. All rights reserved.
+ System/FilePath/Error.hs view
@@ -0,0 +1,42 @@+{-# LANGUAGE FlexibleInstances, TypeSynonymInstances #-}++-- |+-- Module: System.FilePath.Manip+-- Copyright: Sergei Trofimovich+-- License: BSD3+-- Maintainer: Bryan O'Sullivan <bos@serpentine.com>+-- Stability: unstable+-- Portability: Unix-like systems (requires flexible instances)++module System.FilePath.Error+ (+ bracket+ , bracket_+ , catch+ , handle+ , throwIO+ , Exception+ ) where++import qualified Control.Exception.Extensible as EE+import Prelude hiding (catch)++-- we can catch any exceptions if we need to+-- type Exception = SomeException+type Exception = EE.IOException++-- we just pin down 'EE.Exception e' to local Exception+bracket :: IO a -> (a -> IO b) -> (a -> IO c) -> IO c+bracket = EE.bracket++bracket_ :: IO a -> IO b -> IO c -> IO c+bracket_ = EE.bracket_++catch :: IO a -> (Exception -> IO a) -> IO a+catch = EE.catch++handle :: (Exception -> IO a) -> IO a -> IO a+handle = EE.handle++throwIO :: (EE.Exception e) => e -> IO a+throwIO = EE.throwIO
System/FilePath/Find.hs view
@@ -119,7 +119,7 @@ import System.FilePath.GlobPattern (GlobPattern, (~~), (/~)) import System.IO (hPutStrLn, stderr) import System.IO.Unsafe (unsafeInterleaveIO, unsafePerformIO)-import qualified Control.Exception as E+import qualified System.FilePath.Error as E import qualified System.Posix.Files as F import qualified System.Posix.Types as T
System/FilePath/Glob.hs view
@@ -10,13 +10,14 @@ namesMatching ) where -import Control.Exception (handle) import Control.Monad (forM) import System.FilePath.GlobPattern ((~~)) import System.Directory (doesDirectoryExist, doesFileExist, getCurrentDirectory, getDirectoryContents) import System.FilePath (dropTrailingPathSeparator, splitFileName, (</>)) import System.IO.Unsafe (unsafeInterleaveIO)++import System.FilePath.Error (handle) -- | Return a list of names matching a glob pattern. The list is -- generated lazily.
System/FilePath/Manip.hs view
@@ -16,7 +16,8 @@ , modifyInPlace ) where -import Control.Exception (bracket, bracket_, handle, throwIO)+import System.FilePath.Error (bracket, bracket_, handle, throwIO)+ import Control.Monad (liftM) import Data.Bits ((.&.)) import System.Directory (removeFile)