@@ -231,12 +231,10 @@ atxHeader = try $ do
232atxClosing = try $ skipMany (char '#') >> blanklines
232atxClosing = try $ skipMany (char '#') >> blanklines
234−setextHeader = choice $ map setextH $ enumFromTo 1 (length setextHChars)
234+setextHeader = try $ do
236−setextH level = try $ do
237 text <- many1Till inline newline >>= return . normalizeSpaces
235 text <- many1Till inline newline >>= return . normalizeSpaces
238− many1 $ char (setextHChars !! (level - 1))
236+ level <- choice $ zipWith (\ch lev -> try (many1 $ char ch) >> blanklines >> return lev)
239− blanklines
237+ setextHChars [1..(length setextHChars)]
240 return $ Header level text
238 return $ Header level text