PDF: expand list of environment variables to display in verbose output.

Closes #9303.
This commit is contained in:
John MacFarlane
2024-01-04 08:50:46 -07:00
parent 87533e2d04
commit 59e28b82b6
+88 -12
View File
@@ -547,19 +547,95 @@ showVerboseInfo mbTmpDir program programArgs env source = do
report $ MakePDFInfo "Command line:"
(T.pack program <> " " <> T.pack (unwords (map show programArgs)))
-- we filter out irrelevant stuff to avoid leaking passwords and keys!
let isRelevant ("PATH",_) = True
isRelevant ("TMPDIR",_) = True
isRelevant ("PWD",_) = True
isRelevant ("LANG",_) = True
isRelevant ("HOME",_) = True
isRelevant ("LUA_PATH",_) = True
isRelevant ("LUA_CPATH",_) = True
isRelevant ("SHELL",_) = True
isRelevant ("TEXINPUTS",_) = True
isRelevant ("TEXMFOUTPUT",_) = True
isRelevant _ = False
let isRelevant e = (e `elem` [ "PKFONTS"
, "AFMFONTS"
, "BIBINPUTS"
, "BLTXMLINPUTS"
, "BSTINPUTS"
, "CLUAINPUTS"
, "CMAPFONTS"
, "CWEBINPUTS"
, "DVIPSHEADERS"
, "ENCFONTS"
, "FONTCIDMAPS"
, "FONTFEATURES"
, "GFFONTS"
, "GLYPHFONTS"
, "HOME"
, "INDEXSTYLE"
, "KPATHSEA_DEBUG"
, "KPATHSEA_WARNING"
, "LANG"
, "LIGFONTS"
, "LUAINPUTS"
, "LUA_CPATH"
, "LUA_PATH"
, "MFBASES"
, "MFINPUTS"
, "MFPOOL"
, "MFTINPUTS"
, "MISCFONTS"
, "MISSFONT_LOG"
, "MLBIBINPUTS"
, "MLBSTINPUTS"
, "MPINPUTS"
, "MPMEMS"
, "MPPOOL"
, "MPSUPPORT"
, "OCPINPUTS"
, "OFMFONTS"
, "OPENTYPEFONTS"
, "OPLFONTS"
, "OTPINPUTS"
, "OVFFONTS"
, "OVPFONTS"
, "PATH"
, "PDFTEXCONFIG"
, "PROGRAMFONTS"
, "PSHEADERS"
, "PWD"
, "RISINPUTS"
, "SELFAUTODIR"
, "SELFAUTOLOC"
, "SELFAUTOPARENT"
, "SFDFONTS"
, "SHELL"
, "T1FONTS"
, "T1INPUTS"
, "T42FONTS"
, "TEXBIB"
, "TEXCONFIG"
, "TEXDOCS"
, "TEXFONTMAPS"
, "TEXFONTS"
, "TEXFORMATS"
, "TEXINDEXSTYLE"
, "TEXINPUTS"
, "TEXMFCNF"
, "TEXMFDBS"
, "TEXMFINI"
, "TEXMFSCRIPTS"
, "TEXMFVAR"
, "TEXPICTS"
, "TEXPKS"
, "TEXPOOL"
, "TEXPSHEADERS"
, "TEXSOURCES"
, "TEX_HUSH"
, "TFMFONTS"
, "TMPDIR"
, "TRFONTS"
, "TTFONTS"
, "USERPROFILE"
, "USE_TEXMFVAR"
, "USE_VARTEXFONTS"
, "VARTEXFONTS"
, "VFFONTS"
, "WEB2C"
, "WEBINPUTS"
]) || "TEXMF" `isPrefixOf` e
report $ MakePDFInfo "Relevant environment variables:"
(T.intercalate "\n" $ map tshow $ filter isRelevant env)
(T.intercalate "\n" $ map tshow $ filter (isRelevant . fst) env)
report $ MakePDFInfo "Source:" source
handlePDFProgramNotFound :: String -> IE.IOError -> IO a