aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <[email protected]>2025-12-11 22:19:31 +0100
committerJohn MacFarlane <[email protected]>2025-12-11 22:19:31 +0100
commita90307d0c87cb8d8ca67c60cc565656c22354b06 (patch)
tree715ed47d8f07a5831427946f9ccd1ca06c0bb677
parentc6e2eee5a5b407b2c747c0a15582a6e77e67b467 (diff)
Remove workaround that had been needed for older ghc versions.
-rw-r--r--src/Text/Pandoc/Writers/Powerpoint/Presentation.hs24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs b/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs
index 7345d319a..9e7bcb04f 100644
--- a/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs
+++ b/src/Text/Pandoc/Writers/Powerpoint/Presentation.hs
@@ -176,11 +176,6 @@ runPres :: WriterEnv -> WriterState -> Pres a -> (a, [LogMessage])
runPres env st p = (pres, reverse $ stLog finalSt)
where (pres, finalSt) = runState (runReaderT p env) st
--- GHC 7.8 will still complain about concat <$> mapM unless we specify
--- Functor. We can get rid of this when we stop supporting GHC 7.8.
-concatMapM :: (Monad m) => (a -> m [b]) -> [a] -> m [b]
-concatMapM f xs = liftM concat (mapM f xs)
-
type Pixels = Integer
data Presentation = Presentation DocProps [Slide]
@@ -348,7 +343,7 @@ instance Default PicProps where
--------------------------------------------------
inlinesToParElems :: [Inline] -> Pres [ParaElem]
-inlinesToParElems = concatMapM inlineToParElems
+inlinesToParElems = fmap mconcat . mapM inlineToParElems
inlineToParElems :: Inline -> Pres [ParaElem]
inlineToParElems (Str s) = do
@@ -484,7 +479,7 @@ blockToParagraphs (BlockQuote blks) =
, pPropIndent = Just 0
}
, envRunProps = (envRunProps r){rPropForceSize = Just blockQuoteSize}})$
- concatMapM blockToParagraphs blks
+ mconcat <$> mapM blockToParagraphs blks
-- TODO: work out the format
blockToParagraphs blk@(RawBlock _ _) = do addLogMessage $ BlockNotRendered blk
return []
@@ -508,7 +503,7 @@ blockToParagraphs (BulletList blksLst) = do
, pPropIndent = Nothing
, pPropIncremental = incremental
}}) $
- concatMapM multiParList blksLst
+ mconcat <$> mapM multiParList blksLst
blockToParagraphs (OrderedList listAttr blksLst) = do
pProps <- asks envParaProps
incremental <- listShouldBeIncremental
@@ -518,7 +513,7 @@ blockToParagraphs (OrderedList listAttr blksLst) = do
, pPropIndent = Nothing
, pPropIncremental = incremental
}}) $
- concatMapM multiParList blksLst
+ mconcat <$> mapM multiParList blksLst
blockToParagraphs (DefinitionList entries) = do
incremental <- listShouldBeIncremental
let go :: ([Inline], [[Block]]) -> Pres [Paragraph]
@@ -526,11 +521,12 @@ blockToParagraphs (DefinitionList entries) = do
term <-blockToParagraphs $ Para [Strong ils]
-- For now, we'll treat each definition term as a
-- blockquote. We can extend this further later.
- definition <- concatMapM (blockToParagraphs . BlockQuote) blksLst
+ definition <-
+ mconcat <$> mapM (blockToParagraphs . BlockQuote) blksLst
return $ term ++ definition
local (\env -> env {envParaProps =
(envParaProps env) {pPropIncremental = incremental}})
- $ concatMapM go entries
+ $ mconcat <$> mapM go entries
blockToParagraphs (Div (_, classes, _) blks) = let
hasIncremental = "incremental" `elem` classes
hasNonIncremental = "nonincremental" `elem` classes
@@ -538,7 +534,7 @@ blockToParagraphs (Div (_, classes, _) blks) = let
| hasNonIncremental -> Just InNonIncremental
| otherwise -> Nothing
addIncremental env = env { envInIncrementalDiv = incremental }
- in local addIncremental (concatMapM blockToParagraphs blks)
+ in local addIncremental (mconcat <$> mapM blockToParagraphs blks)
blockToParagraphs (Figure attr capt blks) = -- This never seems to be used:
blockToParagraphs (Shared.figureDiv attr capt blks)
blockToParagraphs hr@HorizontalRule = notRendered hr
@@ -563,7 +559,7 @@ multiParList (b:bs) = do
, pPropLevel = level + 1
}
})
- $ concatMapM blockToParagraphs bs
+ $ mconcat <$> mapM blockToParagraphs bs
return $ p ++ ps
cellToParagraphs :: Alignment -> SimpleCell -> Pres [Paragraph]
@@ -824,7 +820,7 @@ blocksToSlide' lvl blks spkNotes = bodyBlocksToSlide lvl blks spkNotes
blockToSpeakerNotes :: Block -> Pres SpeakerNotes
blockToSpeakerNotes (Div (_, ["notes"], _) blks) =
local (\env -> env{envInSpeakerNotes=True}) $
- SpeakerNotes <$> concatMapM blockToParagraphs blks
+ SpeakerNotes . mconcat <$> mapM blockToParagraphs blks
blockToSpeakerNotes _ = return mempty
handleSpeakerNotes :: Block -> Pres ()