From 501bf5ca9c5526baa2a3a5f6c0c4aa19508ec967 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 27 Dec 2013 00:10:04 -0400 Subject: 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 b5eb5173d..a7120f24f 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) -- cgit v1.2.3