summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GF/Compile.hs6
-rw-r--r--src/GF/Compile/ReadFiles.hs4
2 files changed, 7 insertions, 3 deletions
diff --git a/src/GF/Compile.hs b/src/GF/Compile.hs
index 69ada9e1a..92a956d5f 100644
--- a/src/GF/Compile.hs
+++ b/src/GF/Compile.hs
@@ -38,6 +38,7 @@ import System.FilePath
import System.Time
import qualified Data.Map as Map
import qualified Data.Set as Set
+import Data.List(nub)
import PGF.Check
import PGF.Data
@@ -108,8 +109,9 @@ compileModule opts1 env file = do
let opts = addOptions opts0 opts1
let fdir = dropFileName file
let ps0 = moduleFlag optLibraryPath opts
- ps2 <- ioeIO $ extendPathEnv $ fdir : ps0
- let ps = ps2 ++ map (fdir </>) ps0
+ ps1 <- ioeIO $ extendPathEnv $ fdir : ps0
+ let ps2 = ps1 ++ map (fdir </>) ps0
+ ps <- ioeIO $ fmap nub $ mapM canonicalizePath ps2
ioeIO $ putIfVerb opts $ "module search path:" +++ show ps ----
let (_,sgr,rfs) = env
files <- getAllFiles opts ps rfs file
diff --git a/src/GF/Compile/ReadFiles.hs b/src/GF/Compile/ReadFiles.hs
index cd2faec15..956114c1c 100644
--- a/src/GF/Compile/ReadFiles.hs
+++ b/src/GF/Compile/ReadFiles.hs
@@ -38,6 +38,7 @@ import qualified Data.Map as Map
import System.Time
import System.Directory
import System.FilePath
+import Text.PrettyPrint
type ModName = String
type ModEnv = Map.Map ModName (ClockTime,[ModName])
@@ -92,7 +93,8 @@ getAllFiles opts ps env file = do
case mb_gfoFile of
Just gfoFile -> do gfoTime <- ioeIO $ getModificationTime gfoFile
return (gfoFile, Nothing, Just gfoTime)
- Nothing -> ioeErr $ Bad ("File " ++ gfFile name ++ " does not exist.")
+ Nothing -> ioeErr $ Bad (render (text "File" <+> text (gfFile name) <+> text "does not exist." $$
+ text "searched in:" <+> vcat (map text ps)))
let mb_envmod = Map.lookup name env