git.iko.soy/typeable/pandoc
on master help sign in
Combined linebreak and whitespace into a new whitespace

parser, to avoid unnecessary reparsing of space characters. git-svn-id: https://pandoc.googlecode.com/svn/trunk@978 788f1e2b-df1e-0410-8736-df70ead52e1b

commit85d49ee9366e99e45aa791320b5a8b4436715009 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateSat 1 Sep 2007, 02:18 (19 years ago) parent8d3bec3
1 file changed+6−7
src/Text/Pandoc/Readers/Markdown.hs+6−7
src/Text/Pandoc/Readers/Markdown.hs+6−7
@@ -625,9 +625,8 @@ table = failIfStrict >> (simpleTable <|> multilineTable) <?> "table"
625625
626626inline = choice [ str
627627 , smartPunctuation
628− , linebreak
629− , endline
630628 , whitespace
629+ , endline
631630 , code
632631 , charRef
633632 , strong
@@ -766,11 +765,11 @@ enDash = try $ char '-' >> notFollowedBy (noneOf "0123456789") >> return EnDash
766765emDash = try $ skipSpaces >> oneOfStrings ["---", "--"] >>
767766 skipSpaces >> return EmDash
768767
769−whitespace = (many1 (oneOf spaceChars) >> return Space) <?> "whitespace"
770−
771−-- hard line break
772−linebreak = try $ oneOf spaceChars >> many1 (oneOf spaceChars) >>
773− endline >> return LineBreak
768+whitespace = do
769+ sps <- many1 (oneOf spaceChars)
770+ if length sps >= 2
771+ then option Space (endline >> return LineBreak)
772+ else return Space <?> "whitespace"
774773
775774nonEndline = satisfy (/='\n')
776775