From b49bb4d5ab7ae2ac60b59ef0586aa468e53d8a19 Mon Sep 17 00:00:00 2001 From: Kazu Yamamoto Date: Thu, 27 Mar 2014 12:58:35 +0900 Subject: [PATCH] preventing error messages from the sub thread. --- src/GHCModi.hs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/GHCModi.hs b/src/GHCModi.hs index ba65408..dd77503 100644 --- a/src/GHCModi.hs +++ b/src/GHCModi.hs @@ -56,7 +56,7 @@ main = E.handle handler $ do ls = lineSeparator opt LineSeparator lsc = ls handler (E.SomeException e) = do - putStr "ghc-modi:0:0:Error:" + putStr "ghc-modi:0:0:" let x = intercalate lsc $ lines $ show e putStrLn x putStrLn "NG" @@ -72,13 +72,14 @@ run cradle mlibdir opt body = runGhc mlibdir $ do ---------------------------------------------------------------- setupDB :: Cradle -> Maybe FilePath -> Options -> MVar DB -> IO () -setupDB cradle mlibdir opt mvar = do +setupDB cradle mlibdir opt mvar = E.handle handler $ do sm <- run cradle mlibdir opt $ \_ -> getSessionDynFlags >>= browseAll let sms = map tieup $ groupBy ((==) `on` fst) $ sort sm m = M.fromList sms putMVar mvar m where tieup x = (head (map fst x), map snd x) + handler (E.SomeException _) = return () ----------------------------------------------------------------