@@ -165,7 +165,7 @@ bodyPartsToMeta' (bp : bps)
165165 | (Paragraph pPr parParts) <- bp
166166 , (c : _)<- intersect (pStyle pPr) (M.keys metaStyles)
167167 , (Just metaField) <- M.lookup c metaStyles = do
168− inlines <- parPartsToInlines parParts
168+ inlines <- concatReduce <$> mapM parPartToInlines parParts
169169 remaining <- bodyPartsToMeta' bps
170170 let
171171 f (MetaInlines ils) (MetaInlines ils') = MetaBlocks [Para ils, Para ils']
@@ -218,11 +218,8 @@ runElemToString (TextRun s) = s
218218runElemToString (LnBrk) = ['\n']
219219runElemToString (Tab) = ['\t']
220220
221−runElemsToString :: [RunElem] -> String
222−runElemsToString = concatMap runElemToString
223−
224221runToString :: Run -> String
225−runToString (Run _ runElems) = runElemsToString runElems
222+runToString (Run _ runElems) = concatMap runElemToString runElems
226223runToString _ = ""
227224
228225parPartToString :: ParPart -> String
@@ -242,14 +239,14 @@ runStyleToTransform rPr
242239 , s `elem` emphStyles =
243240 let rPr' = rPr{rStyle = Nothing, isItalic = Nothing}
244241 in
245− case isItalic rPr' of
242+ case isItalic rPr of
246243 Just False -> runStyleToTransform rPr'
247244 _ -> emph . (runStyleToTransform rPr')
248245 | Just s <- rStyle rPr
249246 , s `elem` strongStyles =
250247 let rPr' = rPr{rStyle = Nothing, isBold = Nothing}
251248 in
252− case isItalic rPr' of
249+ case isBold rPr of
253250 Just False -> runStyleToTransform rPr'
254251 _ -> strong . (runStyleToTransform rPr')
255252 | Just True <- isItalic rPr =
@@ -272,7 +269,7 @@ runToInlines :: Run -> DocxContext Inlines
272269runToInlines (Run rs runElems)
273270 | Just s <- rStyle rs
274271 , s `elem` codeStyles =
275− return $ code $ runElemsToString runElems
272+ return $ code $ concatMap runElemToString runElems
276273 | otherwise = do
277274 let ils = concatReduce (map runElemToInlines runElems)
278275 return $ (runStyleToTransform rs) ils
@@ -383,9 +380,6 @@ makeHeaderAnchor' (Header n (_, classes, kvs) ils) =
383380 return $ Header n (newIdent, classes, kvs) ils
384381makeHeaderAnchor' blk = return blk
385382
386−parPartsToInlines :: [ParPart] -> DocxContext Inlines
387−parPartsToInlines parparts = concatReduce <$> mapM parPartToInlines parparts
388−
389383cellToBlocks :: Cell -> DocxContext Blocks
390384cellToBlocks (Cell bps) = concatReduce <$> mapM bodyPartToBlocks bps
391385
@@ -447,12 +441,12 @@ bodyPartToBlocks (Paragraph pPr parparts)
447441 | (c : cs) <- filter (isJust . isHeaderClass) $ pStyle pPr
448442 , Just n <- isHeaderClass c = do
449443 ils <- local (\s-> s{docxInHeaderBlock=True}) $
450− (parPartsToInlines parparts)
444+ (concatReduce <$> mapM parPartToInlines parparts)
451445
452446 makeHeaderAnchor $
453447 headerWith ("", delete ("Heading" ++ show n) cs, []) n ils
454448 | otherwise = do
455− ils <- parPartsToInlines parparts >>=
449+ ils <- concatReduce <$> mapM parPartToInlines parparts >>=
456450 (return . fromList . trimLineBreaks . normalizeSpaces . toList)
457451 dropIls <- gets docxDropCap
458452 let ils' = dropIls <> ils