From 50885eabde6e9ba524d74a234154766f4c522627 Mon Sep 17 00:00:00 2001 From: John MacFarlane Date: Fri, 19 Jul 2019 09:41:19 -0700 Subject: PDF: create temp dir in . on Cygwin. See #5451. --- src/Text/Pandoc/PDF.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/Text/Pandoc/PDF.hs b/src/Text/Pandoc/PDF.hs index 5826f9856..2a8842e97 100644 --- a/src/Text/Pandoc/PDF.hs +++ b/src/Text/Pandoc/PDF.hs @@ -42,6 +42,7 @@ import Text.Pandoc.Error (PandocError (PandocPDFProgramNotFoundError)) import Text.Pandoc.MIME (getMimeType) import Text.Pandoc.Options (HTMLMathMethod (..), WriterOptions (..)) import Text.Pandoc.Process (pipeProcess) +import System.Process (readProcess) import Text.Pandoc.Shared (inDirectory, stringify) import qualified Text.Pandoc.UTF8 as UTF8 import Text.Pandoc.Walk (walkM) @@ -89,7 +90,9 @@ makePDF program pdfargs writer opts doc = -- user names (see #777) let withTempDir templ action = do tmp <- getTemporaryDirectory - if '~' `elem` tmp + uname <- E.catch (readProcess "uname" ["-o"] "") + (\(_ :: E.SomeException) -> return "") + if '~' `elem` tmp || uname == "Cygwin" -- see #5451 then withTempDirectory "." templ action else withSystemTempDirectory templ action (newCommonState, res) <- liftIO $ withTempDir "tex2pdf." $ \tmpdir' -> do -- cgit v1.2.3