git.iko.soy/typeable/pandoc
on master help sign in
Make `--fail-if-warnings` work for PDF output.

Closes #5343.

commit89ccbc171b8224001048693ae599b7bc413c36f5 authorJohn MacFarlane <jgm@berkeley.edu> dateFri 1 Mar 2019, 10:57 (8 years ago) parent5769ce9
1 file changed+10−4
src/Text/Pandoc/PDF.hs+10−4
src/Text/Pandoc/PDF.hs+10−4
@@ -94,22 +94,28 @@ makePDF program pdfargs writer opts doc = do
9494 if '~' `elem` tmp
9595 then withTempDirectory "." templ action
9696 else withSystemTempDirectory templ action
97− liftIO $ withTempDir "tex2pdf." $ \tmpdir' -> do
97+ (newCommonState, res) <- liftIO $ withTempDir "tex2pdf." $ \tmpdir' -> do
9898#ifdef _WINDOWS
9999 -- note: we want / even on Windows, for TexLive
100100 let tmpdir = changePathSeparators tmpdir'
101101#else
102102 let tmpdir = tmpdir'
103103#endif
104− source <- runIOorExplode $ do
104+ (source, newCommonState)
105+ <- runIOorExplode $ do
105106 putCommonState commonState
106107 doc' <- handleImages tmpdir doc
107− writer opts doc'
108− case baseProg of
108+ result <- writer opts doc'
109+ cs <- getCommonState
110+ return (result, cs)
111+ res <- case baseProg of
109112 "context" -> context2pdf verbosity program pdfargs tmpdir source
110113 prog | prog `elem` ["pdflatex", "lualatex", "xelatex", "latexmk"]
111114 -> tex2pdf verbosity program pdfargs tmpdir source
112115 _ -> return $ Left $ UTF8.fromStringLazy $ "Unknown program " ++ program
116+ return (newCommonState, res)
117+ putCommonState newCommonState
118+ return res
113119
114120makeWithWkhtmltopdf :: String -- ^ wkhtmltopdf or path
115121 -> [String] -- ^ arguments