diff --git a/src/Text/Pandoc/Readers/Muse.hs b/src/Text/Pandoc/Readers/Muse.hs index 3e642b386..293bc627c 100644 --- a/src/Text/Pandoc/Readers/Muse.hs +++ b/src/Text/Pandoc/Readers/Muse.hs @@ -265,10 +265,10 @@ parseBlocksTill :: PandocMonad m => MuseParser m a -> MuseParser m (F Blocks) parseBlocksTill end = - try parseEnd <|> - try blockStart <|> - try listStart <|> - try paraStart + try (parseEnd <|> + blockStart <|> + listStart <|> + paraStart) where parseEnd = mempty <$ end blockStart = do first <- blockElements diff --git a/test/Tests/Readers/Muse.hs b/test/Tests/Readers/Muse.hs index 01e8d7b85..f64927ff1 100644 --- a/test/Tests/Readers/Muse.hs +++ b/test/Tests/Readers/Muse.hs @@ -1224,5 +1224,23 @@ tests = , "" ] =?> blockQuote (bulletList [ blockQuote $ para "foo" ] <> para "bar") + + , "Unclosed quote tag" =: + T.unlines + [ "" + , "" + , "" + , "" + ] =?> + para "" <> lineBlock [ "" ] + + , "Unclosed quote tag inside list" =: + T.unlines + [ " - " + , " " + , " " + , " " + ] =?> + bulletList [ para "" <> lineBlock [ "" ] ] ] ]