ghci 8.6.1 → 8.6.4
raw patch · 3 files changed
+21/−17 lines, 3 filesdep ~ghc-bootdep ~ghc-boot-thdep ~ghc-heap
Dependency ranges changed: ghc-boot, ghc-boot-th, ghc-heap
Files
- GHCi/Message.hs +10/−7
- GHCi/TH.hs +7/−6
- ghci.cabal +4/−4
GHCi/Message.hs view
@@ -245,6 +245,7 @@ StartRecover :: THMessage () EndRecover :: Bool -> THMessage ()+ FailIfErrs :: THMessage (THResult ()) -- | Indicates that this RunTH is finished, and the next message -- will be the result of RunTH (a QResult).@@ -275,9 +276,10 @@ 14 -> THMsg <$> return ExtsEnabled 15 -> THMsg <$> return StartRecover 16 -> THMsg <$> EndRecover <$> get- 17 -> return (THMsg RunTHDone)- 18 -> THMsg <$> AddModFinalizer <$> get- 19 -> THMsg <$> (AddForeignFilePath <$> get <*> get)+ 17 -> THMsg <$> return FailIfErrs+ 18 -> return (THMsg RunTHDone)+ 19 -> THMsg <$> AddModFinalizer <$> get+ 20 -> THMsg <$> (AddForeignFilePath <$> get <*> get) _ -> THMsg <$> AddCorePlugin <$> get putTHMessage :: THMessage a -> Put@@ -299,10 +301,11 @@ ExtsEnabled -> putWord8 14 StartRecover -> putWord8 15 EndRecover a -> putWord8 16 >> put a- RunTHDone -> putWord8 17- AddModFinalizer a -> putWord8 18 >> put a- AddForeignFilePath lang a -> putWord8 19 >> put lang >> put a- AddCorePlugin a -> putWord8 20 >> put a+ FailIfErrs -> putWord8 17+ RunTHDone -> putWord8 18+ AddModFinalizer a -> putWord8 19 >> put a+ AddForeignFilePath lang a -> putWord8 20 >> put lang >> put a+ AddCorePlugin a -> putWord8 21 >> put a data EvalOpts = EvalOpts
GHCi/TH.hs view
@@ -105,6 +105,7 @@ import qualified Data.ByteString.Lazy as LB import Data.Data import Data.Dynamic+import Data.Either import Data.IORef import Data.Map (Map) import qualified Data.Map as M@@ -169,13 +170,13 @@ qReport isError msg = ghcCmd (Report isError msg) -- See Note [TH recover with -fexternal-interpreter] in TcSplice- qRecover (GHCiQ h) (GHCiQ a) = GHCiQ $ \s -> (do+ qRecover (GHCiQ h) a = GHCiQ $ \s -> mask $ \unmask -> do remoteTHCall (qsPipe s) StartRecover- (r, s') <- a s- remoteTHCall (qsPipe s) (EndRecover False)- return (r,s'))- `catch`- \GHCiQException{} -> remoteTHCall (qsPipe s) (EndRecover True) >> h s+ e <- try $ unmask $ runGHCiQ (a <* ghcCmd FailIfErrs) s+ remoteTHCall (qsPipe s) (EndRecover (isLeft e))+ case e of+ Left GHCiQException{} -> h s+ Right r -> return r qLookupName isType occ = ghcCmd (LookupName isType occ) qReify name = ghcCmd (Reify name) qReifyFixity name = ghcCmd (ReifyFixity name)
ghci.cabal view
@@ -1,5 +1,5 @@ name: ghci-version: 8.6.1+version: 8.6.4 license: BSD3 license-file: LICENSE category: GHC@@ -72,9 +72,9 @@ containers >= 0.5 && < 0.7, deepseq == 1.4.*, filepath == 1.4.*,- ghc-boot == 8.6.1,- ghc-boot-th == 8.6.1,- ghc-heap == 8.6.1,+ ghc-boot == 8.6.4,+ ghc-boot-th == 8.6.4,+ ghc-heap == 8.6.4, template-haskell == 2.14.*, transformers == 0.5.*