summaryrefslogtreecommitdiff
path: root/ghc
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-02-19 17:07:16 +0000
committerIan Lynagh <ian@well-typed.com>2013-02-19 17:33:40 +0000
commit7ae0f5bd87ab54b62843e88cdb7df3d0a0cfe265 (patch)
tree16ff2a58e20903947568f0063d325c6113840442 /ghc
parent5700479b68aa96f380c44d3a085786b1fdbff3d8 (diff)
downloadhaskell-7ae0f5bd87ab54b62843e88cdb7df3d0a0cfe265.tar.gz
Remove gblock and gunblock
Diffstat (limited to 'ghc')
-rw-r--r--ghc/GhciMonad.hs5
-rw-r--r--ghc/InteractiveUI.hs3
2 files changed, 2 insertions, 6 deletions
diff --git a/ghc/GhciMonad.hs b/ghc/GhciMonad.hs
index 2a6badbff0..e61e1409de 100644
--- a/ghc/GhciMonad.hs
+++ b/ghc/GhciMonad.hs
@@ -204,8 +204,6 @@ instance GhcMonad (InputT GHCi) where
instance ExceptionMonad GHCi where
gcatch m h = GHCi $ \r -> unGHCi m r `gcatch` (\e -> unGHCi (h e) r)
- gblock (GHCi m) = GHCi $ \r -> gblock (m r)
- gunblock (GHCi m) = GHCi $ \r -> gunblock (m r)
gmask f =
GHCi $ \s -> gmask $ \io_restore ->
let
@@ -227,9 +225,6 @@ instance ExceptionMonad (InputT GHCi) where
gcatch = Haskeline.catch
gmask f = Haskeline.liftIOOp gmask (f . Haskeline.liftIOOp_)
- gblock = Haskeline.liftIOOp_ gblock
- gunblock = Haskeline.liftIOOp_ gunblock
-
isOptionSet :: GHCiOption -> GHCi Bool
isOptionSet opt
= do st <- getGHCiState
diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs
index ec7e5225df..5b3e572650 100644
--- a/ghc/InteractiveUI.hs
+++ b/ghc/InteractiveUI.hs
@@ -2944,7 +2944,8 @@ showException se =
-- may never be delivered. Thanks to Marcin for pointing out the bug.
ghciHandle :: ExceptionMonad m => (SomeException -> m a) -> m a -> m a
-ghciHandle h m = gcatch m $ \e -> gunblock (h e)
+ghciHandle h m = gmask $ \restore ->
+ gcatch (restore m) $ \e -> restore (h e)
ghciTry :: GHCi a -> GHCi (Either SomeException a)
ghciTry (GHCi m) = GHCi $ \s -> gtry (m s)