diff options
-rw-r--r-- | src/Text/Pandoc/Readers/Muse.hs | 2 | ||||
-rw-r--r-- | test/Tests/Readers/Muse.hs | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index d86c46aca..6183f91cd 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -171,7 +171,7 @@ parseHtmlContent tag = try $ do many spaceChar (TagOpen _ attr, _) <- htmlTag (~== TagOpen tag []) manyTill spaceChar eol - content <- parseBlocksTill (manyTill spaceChar endtag) + content <- parseBlocksTill (try $ manyTill spaceChar endtag) manyTill spaceChar eol -- closing tag must be followed by optional whitespace and newline return (htmlAttrToPandoc attr, content) where diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs index 1a8378b06..f326b39d4 100644 --- a/test/Tests/Readers/Muse.hs +++ b/test/Tests/Readers/Muse.hs @@ -1208,5 +1208,16 @@ tests = , para "Second" , para "Third" ]) + -- Regression test for a bug caught by round-trip test + , "Do not consume whitespace while looking for end tag" =: + T.unlines + [ "<quote>" + , " - <quote>" + , " foo" + , " </quote>" + , " bar" -- Do not consume whitespace while looking for arbitraritly indented </quote> + , "</quote>" + ] =?> + blockQuote (bulletList [ blockQuote $ para "foo" ] <> para "bar") ] ] |