summaryrefslogtreecommitdiff
path: root/src/GF/Devel/ReadFiles.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-04-17 12:56:46 +0000
committerkrasimir <krasimir@chalmers.se>2008-04-17 12:56:46 +0000
commit21e5a60ce20652826a8d74a4357706fca86edfa9 (patch)
treebb2197e68ce51bcf84f3cdf7526e0ada801273d4 /src/GF/Devel/ReadFiles.hs
parent0ea2798b3cc9bf60e99e01089ea2eddba64a9cbf (diff)
ByteString.readFile should be used instead of readFileStrict. This fixes the problem with the open files
Diffstat (limited to 'src/GF/Devel/ReadFiles.hs')
-rw-r--r--src/GF/Devel/ReadFiles.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/GF/Devel/ReadFiles.hs b/src/GF/Devel/ReadFiles.hs
index a99bc01b2..0a1d69d2a 100644
--- a/src/GF/Devel/ReadFiles.hs
+++ b/src/GF/Devel/ReadFiles.hs
@@ -35,6 +35,8 @@ import Data.Char
import Control.Monad
import Data.List
import System.Directory
+import qualified Data.ByteString.Char8 as BS
+
type ModName = String
type ModEnv = [(ModName,ModTime)]
@@ -202,7 +204,7 @@ getImports ps = get [] where
get ds file0 = do
let name = justModuleName file0 ---- fileBody file0
(p,s) <- tryRead name
- let ((typ,mname),imps) = importsOfFile s
+ let ((typ,mname),imps) = importsOfFile (BS.unpack s)
let namebody = justFileName name
ioeErr $ testErr (mname == namebody) $
"module name" +++ mname +++ "differs from file name" +++ namebody
@@ -317,14 +319,14 @@ lexs s = x:xs where
getOptionsFromFile :: FilePath -> IO Options
getOptionsFromFile file = do
s <- readFileIfStrict file
- let ls = filter (isPrefixOf "--#") $ lines s
+ let ls = filter (isPrefixOf "--#") $ lines (BS.unpack s)
return $ fst $ getOptions "-" $ map (unwords . words . drop 3) ls
-- | check if old GF file
isOldFile :: FilePath -> IO Bool
isOldFile f = do
s <- readFileIfStrict f
- let s' = unComm s
+ let s' = unComm (BS.unpack s)
return $ not (null s') && old (head (words s'))
where
old = flip elem $ words