@@ -2,8 +2,10 @@ module Main where
22
33import Data.List (isInfixOf, intercalate, isPrefixOf)
44import Data.Maybe (isNothing)
5−
6−import Control.Monad (unless, guard)
5+import qualified Data.ByteString as BS
6+import Codec.Binary.UTF8.String (decodeString, encodeString)
7+import Data.ByteString.UTF8 (toString)
8+import Control.Monad (unless, guard, liftM)
79import Control.Exception (tryJust, bracket)
810
911import System.IO (stderr)
@@ -14,8 +16,6 @@ import System.Exit (ExitCode (..), exitWith)
1416import System.FilePath
1517import System.Directory
1618import System.Process (readProcessWithExitCode)
17−import Codec.Binary.UTF8.String (decodeString, encodeString)
18−import Control.Monad (liftM)
1919
2020run :: FilePath -> [String] -> IO (Either String String)
2121run file opts = do
@@ -52,7 +52,8 @@ runLatexRaw latexProgram file = do
5252 takeDirectory file, dropExtension file] >> return ()
5353 let pdfFile = replaceExtension file "pdf"
5454 let logFile = replaceExtension file "log"
55− txt <- tryJust (guard . isDoesNotExistError) (UTF8.readFile logFile)
55+ txt <- tryJust (guard . isDoesNotExistError)
56+ (liftM toString $ BS.readFile logFile)
5657 let checks = checkLatex $ either (const "") id txt
5758 case checks of
5859 -- err , bib , ref , msg