@@ -201,19 +201,18 @@ parseFormatSpec = parse formatSpec ""
201201 '-' -> Set.delete ext
202202 _ -> Set.insert ext
203203
204−-- auxiliary function for readers:
205−markdown :: ReaderOptions -> String -> IO Pandoc
206−markdown o s = do
207− let (doc, warnings) = readMarkdownWithWarnings o s
208− mapM_ warn warnings
209− return doc
210−
211204data Reader = StringReader (ReaderOptions -> String -> IO Pandoc)
212205 | ByteStringReader (ReaderOptions -> BL.ByteString -> IO (Pandoc, MediaBag))
213206
214207mkStringReader :: (ReaderOptions -> String -> Pandoc) -> Reader
215208mkStringReader r = StringReader (\o s -> return $ r o s)
216209
210+mkStringReaderWithWarnings :: (ReaderOptions -> String -> (Pandoc, [String])) -> Reader
211+mkStringReaderWithWarnings r = StringReader $ \o s -> do
212+ let (doc, warnings) = r o s
213+ mapM_ warn warnings
214+ return doc
215+
217216mkBSReader :: (ReaderOptions -> BL.ByteString -> (Pandoc, MediaBag)) -> Reader
218217mkBSReader r = ByteStringReader (\o s -> return $ r o s)
219218
@@ -221,12 +220,12 @@ mkBSReader r = ByteStringReader (\o s -> return $ r o s)
221220readers :: [(String, Reader)]
222221readers = [ ("native" , StringReader $ \_ s -> return $ readNative s)
223222 ,("json" , mkStringReader readJSON )
224− ,("markdown" , StringReader markdown)
225− ,("markdown_strict" , StringReader markdown)
226− ,("markdown_phpextra" , StringReader markdown)
227− ,("markdown_github" , StringReader markdown)
228− ,("markdown_mmd", StringReader markdown)
229− ,("rst" , mkStringReader readRST )
223+ ,("markdown" , mkStringReaderWithWarnings readMarkdownWithWarnings)
224+ ,("markdown_strict" , mkStringReaderWithWarnings readMarkdownWithWarnings)
225+ ,("markdown_phpextra" , mkStringReaderWithWarnings readMarkdownWithWarnings)
226+ ,("markdown_github" , mkStringReaderWithWarnings readMarkdownWithWarnings)
227+ ,("markdown_mmd", mkStringReaderWithWarnings readMarkdownWithWarnings)
228+ ,("rst" , mkStringReaderWithWarnings readRSTWithWarnings )
230229 ,("mediawiki" , mkStringReader readMediaWiki)
231230 ,("docbook" , mkStringReader readDocBook)
232231 ,("opml" , mkStringReader readOPML)