Replace uses of the old catch function with the new one
authorIan Lynagh <igloo@earth.li>
Sat, 18 Dec 2010 21:35:41 +0000 (21:35 +0000)
committerIan Lynagh <igloo@earth.li>
Sat, 18 Dec 2010 21:35:41 +0000 (21:35 +0000)
Main.hs

diff --git a/Main.hs b/Main.hs
index b20b998..2772c2e 100644 (file)
--- a/Main.hs
+++ b/Main.hs
@@ -15,6 +15,7 @@
 #endif
 
 import Control.Exception        ( bracket_ )
+import qualified Control.Exception as Exception
 import Control.Monad            ( MonadPlus(..), liftM, liftM2, when )
 import Data.Char                ( isAlpha, isAlphaNum, isSpace, isDigit,
                                   toUpper, intToDigit, ord )
@@ -691,8 +692,11 @@ finallyRemove fp act =
            act
  where
   noisyRemove fpath =
-    catch (removeFile fpath)
-          (\ e -> hPutStrLn stderr ("Failed to remove file " ++ fpath ++ "; error= " ++ show e))
+    catchIO (removeFile fpath)
+            (\ e -> hPutStrLn stderr ("Failed to remove file " ++ fpath ++ "; error= " ++ show e))
+
+catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
+catchIO = Exception.catch
 
 onlyOne :: String -> IO a
 onlyOne what = die ("Only one "++what++" may be specified\n")