diff options
author | John MacFarlane <jgm@berkeley.edu> | 2015-08-12 21:08:13 -0700 |
---|---|---|
committer | John MacFarlane <jgm@berkeley.edu> | 2015-08-12 21:08:13 -0700 |
commit | c82f3ad61e1e0ce41133134b44d2bb5045dc5217 (patch) | |
tree | c0d1914c8e6dd508af7cc054ef3058c3c6a16ced /src/Text/Pandoc/Writers | |
parent | ef18b83c5857a9f26e1fa2a608ccfa8ef38df2ea (diff) | |
download | pandoc-c82f3ad61e1e0ce41133134b44d2bb5045dc5217.tar.gz |
RST writer: Don't insert `\ ` when complex expression in matched pairs.
E.g. `` [:sup:`3`] `` is okay; you don't need `` [:sup:`3`\ ] ``.
Diffstat (limited to 'src/Text/Pandoc/Writers')
-rw-r--r-- | src/Text/Pandoc/Writers/RST.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Text/Pandoc/Writers/RST.hs b/src/Text/Pandoc/Writers/RST.hs index 151d3c2ae..3dd2ed646 100644 --- a/src/Text/Pandoc/Writers/RST.hs +++ b/src/Text/Pandoc/Writers/RST.hs @@ -333,7 +333,8 @@ blockListToRST = blockListToRST' False -- | Convert list of Pandoc inline elements to RST. inlineListToRST :: [Inline] -> State WriterState Doc inlineListToRST lst = - mapM inlineToRST (removeSpaceAfterDisplayMath $ insertBS lst) >>= return . hcat + mapM inlineToRST (removeSpaceAfterDisplayMath $ insertBS lst) >>= + return . hcat where -- remove spaces after displaymath, as they screw up indentation: removeSpaceAfterDisplayMath (Math DisplayMath x : zs) = Math DisplayMath x : dropWhile (==Space) zs @@ -341,8 +342,8 @@ inlineListToRST lst = removeSpaceAfterDisplayMath [] = [] insertBS :: [Inline] -> [Inline] -- insert '\ ' where needed insertBS (x:y:z:zs) - | isComplex y && surroundComplex x z = - x : y : RawInline "rst" "\\ " : insertBS (z:zs) + | isComplex y && (surroundComplex x z) = + x : y : insertBS (z : zs) insertBS (x:y:zs) | isComplex x && not (okAfterComplex y) = x : RawInline "rst" "\\ " : insertBS (y : zs) |