From c4c1f6d076f8301c6b417badd037dfefbf6d414d Mon Sep 17 00:00:00 2001 From: krasimir Date: Wed, 10 Sep 2008 08:55:16 +0000 Subject: [PATCH] print the search path when we can't find a module --- src/GF/Compile.hs | 6 ++++-- src/GF/Compile/ReadFiles.hs | 4 +++- 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