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