From 6c3e11abaf032d764f5500431fc31f1cfa1b6b6d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 27 Dec 2013 00:10:04 -0400 Subject: [PATCH] avoid another encoding crash --- Build/EvilSplicer.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Build/EvilSplicer.hs b/Build/EvilSplicer.hs index b5eb5173db..a7120f24f4 100644 --- a/Build/EvilSplicer.hs +++ b/Build/EvilSplicer.hs @@ -40,6 +40,7 @@ import Data.Char import System.Environment import System.FilePath import System.Directory +import System.IO import Control.Monad import Prelude hiding (log) @@ -47,6 +48,7 @@ import Utility.Monad import Utility.Misc import Utility.Exception import Utility.Path +import Utility.FileSystemEncoding data Coord = Coord { coordLine :: Int @@ -207,7 +209,10 @@ applySplices destdir imports splices@(first:_) = do oldcontent <- catchMaybeIO $ readFileStrictAnyEncoding dest when (oldcontent /= Just newcontent) $ do putStrLn $ "splicing " ++ f - writeFile dest newcontent + withFile dest WriteMode $ \h -> do + fileEncoding h + hPutStr h newcontent + hClose h where expand lls [] = lls expand lls (s:rest)