summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-03-02 01:39:16 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2018-03-02 01:45:01 +0300
commit9dbd59a7c120eee9a0bbe292a05dd144987fa0a0 (patch)
tree243afc9c834e448fb9fd8196b249343721fb3bc6
parent177c5120a5d13c7019d99a3b79d3cc0981a00214 (diff)
Muse writer: join strings during inline normalization
-rw-r--r--src/Text/Pandoc/Writers/Muse.hs2
-rw-r--r--test/Tests/Writers/Muse.hs1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/Text/Pandoc/Writers/Muse.hs b/src/Text/Pandoc/Writers/Muse.hs
index 314e7a5c1..bf1f267fd 100644
--- a/src/Text/Pandoc/Writers/Muse.hs
+++ b/src/Text/Pandoc/Writers/Muse.hs
@@ -294,6 +294,8 @@ conditionalEscapeString s =
normalizeInlineList :: [Inline] -> [Inline]
normalizeInlineList (x : Str "" : xs)
= normalizeInlineList (x:xs)
+normalizeInlineList (Str x1 : Str x2 : xs)
+ = normalizeInlineList $ Str (x1 ++ x2) : xs
normalizeInlineList (Emph x1 : Emph x2 : ils)
= normalizeInlineList $ Emph (x1 ++ x2) : ils
normalizeInlineList (Strong x1 : Strong x2 : ils)
diff --git a/test/Tests/Writers/Muse.hs b/test/Tests/Writers/Muse.hs
index a5a6986f2..0b8a08258 100644
--- a/test/Tests/Writers/Muse.hs
+++ b/test/Tests/Writers/Muse.hs
@@ -297,6 +297,7 @@ tests = [ testGroup "block elements"
, "escape hash to avoid accidental anchors" =: text "#foo bar"
=?> "<verbatim>#foo</verbatim> bar"
, "escape definition list markers" =: str "::" =?> "<verbatim>::</verbatim>"
+ , "normalize strings before escaping" =: fromList [Str ":", Str ":"] =?> "<verbatim>::</verbatim>"
-- We don't want colons to be escaped if they can't be confused
-- with definition list item markers.
, "do not escape colon" =: str ":" =?> ":"