From d5adbcb7746331d57c914d507286d50f86db0365 Mon Sep 17 00:00:00 2001 From: fiddlosopher Date: Mon, 29 Oct 2007 21:00:48 +0000 Subject: Fixed bug in parsing files that begin with blank lines. + In Text.Pandoc.Shared: rewrote lineClump to parse EITHER a string of blank lines OR a string of nonblanks. Removed code for parsing eof. + In Markdown and RST readers, use 'manyTill (... <|> lineClump) eof' instead of many, since lineClump no longer parses eof. git-svn-id: https://pandoc.googlecode.com/svn/trunk@1057 788f1e2b-df1e-0410-8736-df70ead52e1b --- src/Text/Pandoc/Readers/Markdown.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/Text/Pandoc/Readers/Markdown.hs') diff --git a/src/Text/Pandoc/Readers/Markdown.hs b/src/Text/Pandoc/Readers/Markdown.hs index ce8a4b8eb..df84c0ac7 100644 --- a/src/Text/Pandoc/Readers/Markdown.hs +++ b/src/Text/Pandoc/Readers/Markdown.hs @@ -142,14 +142,16 @@ parseMarkdown = do startPos <- getPosition -- go through once just to get list of reference keys -- docMinusKeys is the raw document with blanks where the keys were... - docMinusKeys <- many (referenceKey <|> lineClump) >>= return . concat + docMinusKeys <- manyTill (referenceKey <|> lineClump) eof >>= + return . concat setInput docMinusKeys setPosition startPos st <- getState -- go through again for notes unless strict... if stateStrict st then return () - else do docMinusNotes <- many (noteBlock <|> lineClump) >>= return . concat + else do docMinusNotes <- manyTill (noteBlock <|> lineClump) eof >>= + return . concat st <- getState let reversedNotes = stateNotes st updateState $ \st -> st { stateNotes = reverse reversedNotes } -- cgit v1.2.3