@@ -72,9 +72,9 @@ extractMsg log' = do
72 let msg' = dropWhile (not . ("!" `BC.isPrefixOf`)) $ BC.lines log'
72 let msg' = dropWhile (not . ("!" `BC.isPrefixOf`)) $ BC.lines log'
73 let (msg'',rest) = break ("l." `BC.isPrefixOf`) msg'
73 let (msg'',rest) = break ("l." `BC.isPrefixOf`) msg'
74 let lineno = take 1 rest
74 let lineno = take 1 rest
75− if not (null msg')
75+ if null msg'
76− then BC.unlines (msg'' ++ lineno)
77+ else BC.unlines (msg'' ++ lineno)
77− else "Unknown errorR"
79parseLine :: ByteString -> Bool
79parseLine :: ByteString -> Bool
80parseLine ln =
80parseLine ln =
@@ -101,7 +101,7 @@ runTeXProgram program runsLeft tmpDir source = do
102 let programArgs = ["-halt-on-error", "-interaction", "nonstopmode",
102 let programArgs = ["-halt-on-error", "-interaction", "nonstopmode",
103 "-output-directory", tmpDir, file]
103 "-output-directory", tmpDir, file]
104− (exit, out, _err) <- readCommand program programArgs
104+ (exit, out, err) <- readCommand program programArgs
105 removeFile file
105 removeFile file
106 let pdfFile = replaceDirectory (replaceExtension file ".pdf") tmpDir
106 let pdfFile = replaceDirectory (replaceExtension file ".pdf") tmpDir
107 pdfExists <- doesFileExist pdfFile
107 pdfExists <- doesFileExist pdfFile
@@ -110,7 +110,7 @@ runTeXProgram program runsLeft tmpDir source = do
110 else return Nothing
110 else return Nothing
111 if hasUndefinedRefs out && runsLeft > 0
111 if hasUndefinedRefs out && runsLeft > 0
112 then runTeXProgram program (runsLeft - 1) tmpDir source
112 then runTeXProgram program (runsLeft - 1) tmpDir source
113− else return (exit, out, pdf)
113+ else return (exit, out <> err, pdf)
115-- utility functions
115-- utility functions