git.iko.soy/typeable/pandoc
on master help sign in
Simplified inlinesInBalanced, using lookAhead.

git-svn-id: https://pandoc.googlecode.com/svn/trunk@732 788f1e2b-df1e-0410-8736-df70ead52e1b

commit48d67d0d1fa8dd22a0c35439c2cd7b2cc2b62926 authorfiddlosopher <fiddlosopher@788f1e2b-df1e-0410-8736-df70ead52e1b> dateMon 16 Jul 2007, 07:22 (19 years ago) parent0ba858f
1 file changed+5−5
src/Text/Pandoc/Readers/Markdown.hs+5−5
src/Text/Pandoc/Readers/Markdown.hs+5−5
@@ -133,13 +133,13 @@ failUnlessSmart = do
133133-- between balanced pairs of @opener@ and a @closer@.
134134inlinesInBalanced :: String -> String -> GenParser Char ParserState [Inline]
135135inlinesInBalanced opener closer = try $ do
136− let nonOpenerSymbol = try $ do -- succeeds if next inline would be Str opener
137− res <- inline -- fails if next inline merely begins with opener
136+ let openerSymbol = try $ do
137+ res <- inline
138138 if res == Str opener
139− then pzero
140− else return ' '
139+ then return res
140+ else pzero
141141 try (string opener)
142− result <- manyTill ( (do notFollowedBy nonOpenerSymbol
142+ result <- manyTill ( (do lookAhead openerSymbol
143143 bal <- inlinesInBalanced opener closer
144144 return $ [Str opener] ++ bal ++ [Str closer])
145145 <|> (count 1 inline))