X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fghctags%2FMain.hs;h=a25537ee990bbbea39e815fc0315b7df87ad7ce3;hb=5882c5ff503c5b3b425708621cbc3371cc36e5de;hp=9093e032e9362465cdd08bb51e9ee117a32ccbe4;hpb=241c6ba59c89d491aa4087f754dfcbbca26163f4;p=ghc-hetmet.git diff --git a/utils/ghctags/Main.hs b/utils/ghctags/Main.hs index 9093e03..a25537e 100644 --- a/utils/ghctags/Main.hs +++ b/utils/ghctags/Main.hs @@ -195,7 +195,7 @@ safeLoad :: LoadHowMuch -> Ghc SuccessFlag safeLoad mode = do _dflags <- getSessionDynFlags ghandle (\(e :: SomeException) -> liftIO (print e) >> return Failed ) $ - handleSourceError (\e -> printExceptionAndWarnings e >> return Failed) $ + handleSourceError (\e -> printException e >> return Failed) $ load mode @@ -221,7 +221,7 @@ graphData graph handles = do let filename = msHsFilePath ms modname = moduleName $ ms_mod ms in handleSourceError (\e -> do - printExceptionAndWarnings e + printException e liftIO $ exitWith (ExitFailure 1)) $ do liftIO $ putStrLn ("loading " ++ filename) mod <- loadModule =<< typecheckModule =<< parseModule ms @@ -251,7 +251,7 @@ boundValues mod group = , bind <- bagToList binds , x <- boundThings mod bind ] _other -> error "boundValues" - tys = [ n | ns <- map hsTyClDeclBinders (hs_tyclds group) + tys = [ n | ns <- map hsTyClDeclBinders (concat (hs_tyclds group)) , n <- map found ns ] fors = concat $ map forBound (hs_fords group) where forBound lford = case unLoc lford of @@ -280,7 +280,6 @@ boundThings modname lbinding = in case unLoc lpat of WildPat _ -> tl VarPat name -> lid name : tl - VarPatOut name _ -> lid name : tl -- XXX need help here LazyPat p -> patThings p tl AsPat id p -> patThings p (thing id : tl) ParPat p -> patThings p tl