Fix older GHCs

This commit is contained in:
Daniel Gröber 2015-08-19 08:11:29 +02:00
parent 50ab2091d6
commit e360f7eb44
3 changed files with 13 additions and 1 deletions

View File

@ -42,6 +42,7 @@ module Language.Haskell.GhcMod.Gap (
, lookupModulePackageInAllPackages , lookupModulePackageInAllPackages
, Language.Haskell.GhcMod.Gap.isSynTyCon , Language.Haskell.GhcMod.Gap.isSynTyCon
, parseModuleHeader , parseModuleHeader
, mkErrStyle'
) where ) where
import Control.Applicative hiding (empty) import Control.Applicative hiding (empty)
@ -559,3 +560,10 @@ parseModuleHeader str dflags filename =
POk pst rdr_module -> POk pst rdr_module ->
let (warns,_) = getMessages pst in let (warns,_) = getMessages pst in
Right (warns, rdr_module) Right (warns, rdr_module)
mkErrStyle' :: DynFlags -> PrintUnqualified -> PprStyle
#if __GLASGOW_HASKELL__ >= 706
mkErrStyle' = Outputable.mkErrStyle
#else
mkErrStyle' _ = Outputable.mkErrStyle
#endif

View File

@ -134,7 +134,7 @@ ppErrMsg :: ErrMsg -> GmPprEnvM String
ppErrMsg err = do ppErrMsg err = do
dflags <- asks gpeDynFlags dflags <- asks gpeDynFlags
let unqual = errMsgContext err let unqual = errMsgContext err
st = mkErrStyle dflags unqual st = Gap.mkErrStyle' dflags unqual
let ext = showPage dflags st (errMsgExtraInfo err) let ext = showPage dflags st (errMsgExtraInfo err)
m <- ppMsg st spn SevError msg m <- ppMsg st spn SevError msg
return $ m ++ (if null ext then "" else "\n" ++ ext) return $ m ++ (if null ext then "" else "\n" ++ ext)

View File

@ -71,4 +71,8 @@ spec = do
it "Uses the right qualification style" $ do it "Uses the right qualification style" $ do
withDirectory_ "test/data/nice-qualification" $ do withDirectory_ "test/data/nice-qualification" $ do
res <- runD $ checkSyntax ["NiceQualification.hs"] res <- runD $ checkSyntax ["NiceQualification.hs"]
#if __GLASGOW_HASKELL__ >= 708
res `shouldBe` "NiceQualification.hs:4:8:Couldn't match expected type \8216IO ()\8217 with actual type \8216[Char]\8217\NULIn the expression: \"wrong type\"\NULIn an equation for \8216main\8217: main = \"wrong type\"\n" res `shouldBe` "NiceQualification.hs:4:8:Couldn't match expected type \8216IO ()\8217 with actual type \8216[Char]\8217\NULIn the expression: \"wrong type\"\NULIn an equation for \8216main\8217: main = \"wrong type\"\n"
#else
res `shouldBe` "NiceQualification.hs:4:8:Couldn't match expected type `IO ()' with actual type `[Char]'\NULIn the expression: \"wrong type\"\NULIn an equation for `main': main = \"wrong type\"\n"
#endif