Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/6232e0fb1a2ebed118ac5770ff1d67461e968973

>---------------------------------------------------------------

commit 6232e0fb1a2ebed118ac5770ff1d67461e968973
Author: Duncan Coutts <[email protected]>
Date:   Tue Nov 10 11:24:15 2009 +0000

    Fix base 4 exceptions in #ifdef WIN32 code section

>---------------------------------------------------------------

 cabal-install/Distribution/Client/HttpUtils.hs |    6 ++++--
 cabal-install/Distribution/Compat/Exception.hs |    4 ++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/cabal-install/Distribution/Client/HttpUtils.hs 
b/cabal-install/Distribution/Client/HttpUtils.hs
index 5863c71..7d1d2ff 100644
--- a/cabal-install/Distribution/Client/HttpUtils.hs
+++ b/cabal-install/Distribution/Client/HttpUtils.hs
@@ -24,7 +24,9 @@ import System.Win32.Registry
          ( hKEY_CURRENT_USER, regOpenKey, regCloseKey
          , regQueryValue, regQueryValueEx )
 import Control.Exception
-         ( handle, bracket )
+         ( bracket )
+import Distribution.Compat.Exception
+         ( handleIO )
 import Foreign
          ( toBool, Storable(peek, sizeOf), castPtr, alloca )
 #endif
@@ -46,7 +48,7 @@ import qualified System.FilePath.Posix as FilePath.Posix
 proxyString, envProxyString, registryProxyString :: IO (Maybe String)
 #ifdef WIN32
 -- read proxy settings from the windows registry
-registryProxyString = handle (\_ -> return Nothing) $
+registryProxyString = handleIO (\_ -> return Nothing) $
   bracket (regOpenKey hive path) regCloseKey $ \hkey -> do
     enable <- fmap toBool $ regQueryValueDWORD hkey "ProxyEnable"
     if enable
diff --git a/cabal-install/Distribution/Compat/Exception.hs 
b/cabal-install/Distribution/Compat/Exception.hs
index dab4efd..2baafb5 100644
--- a/cabal-install/Distribution/Compat/Exception.hs
+++ b/cabal-install/Distribution/Compat/Exception.hs
@@ -7,6 +7,7 @@ module Distribution.Compat.Exception (
   SomeException,
   onException,
   catchIO,
+  handleIO,
   catchExit,
   throwIOIO
   ) where
@@ -42,6 +43,9 @@ catchIO = Exception.catch
 catchIO = Exception.catchJust Exception.ioErrors
 #endif
 
+handleIO :: (Exception.IOException -> IO a) -> IO a -> IO a
+handleIO = flip catchIO
+
 catchExit :: IO a -> (ExitCode -> IO a) -> IO a
 #if MIN_VERSION_base(4,0,0)
 catchExit = Exception.catch



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to