diff options
Diffstat (limited to 'src/Text/Pandoc/Readers/Docx/Reducible.hs')
-rw-r--r-- | src/Text/Pandoc/Readers/Docx/Reducible.hs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/Text/Pandoc/Readers/Docx/Reducible.hs b/src/Text/Pandoc/Readers/Docx/Reducible.hs index 2f1945c7d..2dbef4131 100644 --- a/src/Text/Pandoc/Readers/Docx/Reducible.hs +++ b/src/Text/Pandoc/Readers/Docx/Reducible.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE OverloadedStrings, PatternGuards #-} {- Copyright (C) 2014 Jesse Rosenthal <jrosenthal@jhu.edu> @@ -87,12 +87,13 @@ combineReducibles r s = remaining' = conts' \\ shared in case null shared of - True -> case () of - _ | (not . null) rs && isSpace (last rs) -> - rebuild conts (init rs) ++ [last rs, s] - _ | (not . null) ss && isSpace (head ss) -> - [r, head ss] ++ rebuild conts' (tail ss) - _ -> [r,s] + True | (x : xs) <- reverse rs + , isSpace x -> + rebuild conts (reverse xs) ++ [x, s] + | (x : xs) <- ss + , isSpace x -> + [r, x] ++ rebuild conts' (xs) + True -> [r,s] False -> rebuild shared $ reduceList $ |