From 638c2ed46097cb891e2fc752bbbeecfedce26bf4 Mon Sep 17 00:00:00 2001 From: John MacFarlane <jgm@berkeley.edu> Date: Fri, 4 Oct 2019 07:20:51 -0700 Subject: Fix compiler warnings on ghc 8.8. --- src/Text/Pandoc/PDF.hs | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'src') diff --git a/src/Text/Pandoc/PDF.hs b/src/Text/Pandoc/PDF.hs index 17aec792d..1d56d79a3 100644 --- a/src/Text/Pandoc/PDF.hs +++ b/src/Text/Pandoc/PDF.hs @@ -36,7 +36,7 @@ import System.FilePath import System.IO (stdout, hClose) import System.IO.Temp (withSystemTempDirectory, withTempDirectory, withTempFile) -import System.IO.Error (IOError, isDoesNotExistError) +import qualified System.IO.Error as IE import Text.Pandoc.Definition import Text.Pandoc.Error (PandocError (PandocPDFProgramNotFoundError)) import Text.Pandoc.MIME (getMimeType) @@ -307,10 +307,7 @@ runTectonic verbosity program args' tmpDir' source = do showVerboseInfo (Just tmpDir) program programArgs env (UTF8.toStringLazy sourceBL) (exit, out) <- liftIO $ E.catch (pipeProcess (Just env) program programArgs sourceBL) - (\(e :: IOError) -> if isDoesNotExistError e - then E.throwIO $ PandocPDFProgramNotFoundError - program - else E.throwIO e) + (handlePDFProgramNotFound program) when (verbosity >= INFO) $ liftIO $ do putStrLn "[makePDF] Running" BL.hPutStr stdout out @@ -376,10 +373,7 @@ runTeXProgram verbosity program args runNumber numRuns tmpDir' source = do showVerboseInfo (Just tmpDir) program programArgs env'' (exit, out) <- liftIO $ E.catch (pipeProcess (Just env'') program programArgs BL.empty) - (\(e :: IOError) -> if isDoesNotExistError e - then E.throwIO $ PandocPDFProgramNotFoundError - program - else E.throwIO e) + (handlePDFProgramNotFound program) when (verbosity >= INFO) $ liftIO $ do putStrLn $ "[makePDF] Run #" ++ show runNumber BL.hPutStr stdout out @@ -404,10 +398,7 @@ generic2pdf verbosity program args source = do (exit, out) <- E.catch (pipeProcess (Just env') program args (BL.fromStrict $ UTF8.fromText source)) - (\(e :: IOError) -> if isDoesNotExistError e - then E.throwIO $ - PandocPDFProgramNotFoundError program - else E.throwIO e) + (handlePDFProgramNotFound program) return $ case exit of ExitFailure _ -> Left out ExitSuccess -> Right out @@ -435,10 +426,7 @@ html2pdf verbosity program args source = do showVerboseInfo Nothing program programArgs env' (exit, out) <- E.catch (pipeProcess (Just env') program programArgs BL.empty) - (\(e :: IOError) -> if isDoesNotExistError e - then E.throwIO $ - PandocPDFProgramNotFoundError program - else E.throwIO e) + (handlePDFProgramNotFound program) when (verbosity >= INFO) $ do BL.hPutStr stdout out putStr "\n" @@ -474,10 +462,7 @@ context2pdf verbosity program pdfargs tmpDir source = showVerboseInfo (Just tmpDir) program programArgs env' (exit, out) <- E.catch (pipeProcess (Just env') program programArgs BL.empty) - (\(e :: IOError) -> if isDoesNotExistError e - then E.throwIO $ - PandocPDFProgramNotFoundError "context" - else E.throwIO e) + (handlePDFProgramNotFound program) when (verbosity >= INFO) $ do BL.hPutStr stdout out putStr "\n" @@ -517,3 +502,9 @@ showVerboseInfo mbTmpDir program programArgs env source = do putStr "\n" putStrLn $ "[makePDF] Source:" putStrLn source + +handlePDFProgramNotFound :: String -> IE.IOError -> IO a +handlePDFProgramNotFound program e + | IE.isDoesNotExistError e = + E.throwIO $ PandocPDFProgramNotFoundError program + | otherwise = E.throwIO e -- cgit v1.2.3