@@ -162,6 +162,7 @@ fieldListItem indent = try $ do
162162 (name, raw) <- rawFieldListItem indent
163163 let term = [Str name]
164164 contents <- parseFromString (many block) raw
165+ optional blanklines
165166 case (name, contents) of
166167 ("Author", x) -> do
167168 updateState $ \st ->
@@ -187,7 +188,6 @@ fieldList :: GenParser Char ParserState Block
187188fieldList = try $ do
188189 indent <- lookAhead $ many spaceChar
189190 items <- many1 $ fieldListItem indent
190− blanklines
191191 if null items
192192 then return Null
193193 else return $ DefinitionList $ catMaybes items
@@ -330,15 +330,14 @@ indentedLine indents = try $ do
330330 string indents
331331 manyTill anyChar newline
332332
333−-- two or more indented lines, possibly separated by blank lines.
333+-- one or more indented lines, possibly separated by blank lines.
334334-- any amount of indentation will work.
335335indentedBlock :: GenParser Char st [Char]
336−indentedBlock = try $ do
336+indentedBlock = try $ do
337337 indents <- lookAhead $ many1 spaceChar
338− lns <- many $ choice $ [ indentedLine indents,
339− try $ do b <- blanklines
340− l <- indentedLine indents
341− return (b ++ l) ]
338+ lns <- many1 $ try $ do b <- option "" blanklines
339+ l <- indentedLine indents
340+ return (b ++ l)
342341 optional blanklines
343342 return $ unlines lns
344343