aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Krotov <ilabdsf@gmail.com>2018-03-28 13:17:04 +0300
committerAlexander Krotov <ilabdsf@gmail.com>2018-03-28 13:19:39 +0300
commitb379a2903a07fc6a7389d1fed40565b3551fecc5 (patch)
tree76173ddee30e2b62a2148cb0cfc12b32d54099fd
parentc24ecf9cd92b5e6f672c8bdfd28da66743b49ce0 (diff)
downloadpandoc-b379a2903a07fc6a7389d1fed40565b3551fecc5.tar.gz
Muse writer: escape semicolons and markers after line break
-rw-r--r--src/Text/Pandoc/Writers/Muse.hs2
-rw-r--r--test/Tests/Writers/Muse.hs1
-rw-r--r--test/writer.muse2
3 files changed, 3 insertions, 2 deletions
diff --git a/src/Text/Pandoc/Writers/Muse.hs b/src/Text/Pandoc/Writers/Muse.hs
index c4614113c..5b08f0d63 100644
--- a/src/Text/Pandoc/Writers/Muse.hs
+++ b/src/Text/Pandoc/Writers/Muse.hs
@@ -382,7 +382,7 @@ renderInlineList True [] = pure "<verbatim></verbatim>"
renderInlineList False [] = pure ""
renderInlineList start (x:xs) = do r <- inlineToMuse x
opts <- gets stOptions
- lst' <- renderInlineList (x == SoftBreak && writerWrapText opts == WrapPreserve) xs
+ lst' <- renderInlineList ((x == SoftBreak && writerWrapText opts == WrapPreserve) || x == LineBreak) xs
if start && fixOrEscape x
then pure (text "<verbatim></verbatim>" <> r <> lst')
else pure (r <> lst')
diff --git a/test/Tests/Writers/Muse.hs b/test/Tests/Writers/Muse.hs
index 1412739cb..c1bec1ba2 100644
--- a/test/Tests/Writers/Muse.hs
+++ b/test/Tests/Writers/Muse.hs
@@ -323,6 +323,7 @@ tests = [ testGroup "block elements"
]
, "escape ; to avoid accidental comments" =: text "; foo" =?> "<verbatim></verbatim>; foo"
, "escape ; after softbreak" =: text "foo" <> softbreak <> text "; bar" =?> "foo\n<verbatim></verbatim>; bar"
+ , "escape ; after linebreak" =: text "foo" <> linebreak <> text "; bar" =?> "foo<br>\n<verbatim></verbatim>; bar"
]
, testGroup "emphasis"
[ "emph" =: emph (text "foo") =?> "<em>foo</em>"
diff --git a/test/writer.muse b/test/writer.muse
index fe278af65..abb6b63fe 100644
--- a/test/writer.muse
+++ b/test/writer.muse
@@ -42,7 +42,7 @@ item.
Here’s one with a bullet. <verbatim>*</verbatim> criminey.
There should be a hard line break<br>
-here.
+<verbatim></verbatim>here.
----