From 1ae4d76d42eb63ab71b7bd27301501f9cf683cf4 Mon Sep 17 00:00:00 2001 From: Nikolay Yakimov Date: Tue, 7 Jul 2020 12:28:38 +0300 Subject: [Docx Reader] Remove no-op stack/unstackInlines in Readers.Docx.Combine --- src/Text/Pandoc/Readers/Docx/Combine.hs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/Readers/Docx/Combine.hs b/src/Text/Pandoc/Readers/Docx/Combine.hs index c095adc2b..22541097c 100644 --- a/src/Text/Pandoc/Readers/Docx/Combine.hs +++ b/src/Text/Pandoc/Readers/Docx/Combine.hs @@ -71,20 +71,18 @@ data Modifier a = Modifier (a -> a) spaceOutInlinesL :: Inlines -> (Inlines, Inlines) spaceOutInlinesL ms = (l, stackInlines fs (m' <> r)) - where (l, m, r) = spaceOutInlines ms - (fs, m') = unstackInlines m + where (l, (fs, m'), r) = spaceOutInlines ms spaceOutInlinesR :: Inlines -> (Inlines, Inlines) spaceOutInlinesR ms = (stackInlines fs (l <> m'), r) - where (l, m, r) = spaceOutInlines ms - (fs, m') = unstackInlines m + where (l, (fs, m'), r) = spaceOutInlines ms -spaceOutInlines :: Inlines -> (Inlines, Inlines, Inlines) +spaceOutInlines :: Inlines -> (Inlines, ([Modifier Inlines], Inlines), Inlines) spaceOutInlines ils = let (fs, ils') = unstackInlines ils (left, (right, contents')) = second (spanr isSpace) $ spanl isSpace $ unMany ils' -- NOTE: spanr counterintuitively returns suffix as the FIRST tuple element - in (Many left, stackInlines fs $ Many contents', Many right) + in (Many left, (fs, Many contents'), Many right) isSpace :: Inline -> Bool isSpace Space = True -- cgit v1.2.3