Bug in parser for named Haddock chunks since GHC 8.0.1-rc1
Steps to reproduce:
-- Foo.hs
module Foo where
-- $bar some
-- named chunk
-- Extract.hs
module Extract where
import Prelude hiding (mod)
import Data.Generics
import DynFlags
import FastString
import GHC
import GHC.Paths
extractDocStrings :: IO [String]
extractDocStrings = do
extract . pm_parsed_source <$> do
runGhc (Just libdir) $ do
_ <- getSessionDynFlags >>= setSessionDynFlags . setHaddockMode
guessTarget "Foo.hs" Nothing >>= setTargets . return
[mod] <- depanal [] False
parseModule mod
where
setHaddockMode :: DynFlags -> DynFlags
setHaddockMode dynflags = (gopt_set dynflags Opt_Haddock)
extract :: ParsedSource -> [String]
extract m = [unpackFS s | HsDocString s <- everything (++) ([] `mkQ` return) m]
Expected result: extractDocStrings
returns " some\n named chunk"
Actual result: it returns " some"
instead