X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2FGhciTags.hs;h=c2e6973e1857ca5095ec4bc14752cda7e04fc4d4;hb=b187c221cc97679e28118ae8ac2997d6a686ba14;hp=c4b52f39c21d5fd36d3e02186b35d87b8475f7ab;hpb=b78303a8d1b21a562b344fd0c4754969948d2419;p=ghc-hetmet.git diff --git a/ghc/GhciTags.hs b/ghc/GhciTags.hs index c4b52f3..c2e6973 100644 --- a/ghc/GhciTags.hs +++ b/ghc/GhciTags.hs @@ -13,6 +13,7 @@ module GhciTags ( createETagsFileCmd ) where +import Exception import GHC import GhciMonad import Outputable @@ -29,7 +30,7 @@ import Panic import Data.List import Control.Monad import System.IO -import System.IO.Error as IO +import System.IO.Error ----------------------------------------------------------------------------- -- create tags file for currently loaded modules. @@ -130,18 +131,18 @@ collateAndWriteTags :: TagsKind -> FilePath -> [TagInfo] -> IO (Either IOError ( -- ctags style with the Ex exresion being just the line number, Vim et al collateAndWriteTags CTagsWithLineNumbers file tagInfos = do let tags = unlines $ sortLe (<=) $ map showCTag tagInfos - IO.try (writeFile file tags) + tryIO (writeFile file tags) -- ctags style with the Ex exresion being a regex searching the line, Vim et al collateAndWriteTags CTagsWithRegExes file tagInfos = do -- ctags style, Vim et al tagInfoGroups <- makeTagGroupsWithSrcInfo tagInfos let tags = unlines $ sortLe (<=) $ map showCTag $concat tagInfoGroups - IO.try (writeFile file tags) + tryIO (writeFile file tags) collateAndWriteTags ETags file tagInfos = do -- etags style, Emacs/XEmacs tagInfoGroups <- makeTagGroupsWithSrcInfo $filter tagExported tagInfos let tagGroups = map processGroup tagInfoGroups - IO.try (writeFile file $ concat tagGroups) + tryIO (writeFile file $ concat tagGroups) where processGroup [] = ghcError (CmdLineError "empty tag file group??")