From 5abd75ea7dc29cdbd7c6333119a11e261413abd4 Mon Sep 17 00:00:00 2001 From: Kazu Yamamoto Date: Sat, 19 Jul 2014 11:50:12 +0900 Subject: [PATCH] fixing a infinite process loop. --- Language/Haskell/GhcMod/Find.hs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Language/Haskell/GhcMod/Find.hs b/Language/Haskell/GhcMod/Find.hs index 16feba6..2a9638b 100644 --- a/Language/Haskell/GhcMod/Find.hs +++ b/Language/Haskell/GhcMod/Find.hs @@ -32,7 +32,7 @@ import Language.Haskell.GhcMod.Utils import Language.Haskell.GhcMod.Types import Name (getOccString) import System.Directory (doesDirectoryExist, getAppUserDataDirectory, doesFileExist, getModificationTime) -import System.FilePath (()) +import System.FilePath ((), takeDirectory) import System.IO import System.Environment (getExecutablePath) @@ -88,11 +88,12 @@ loadSymbolDb :: IO SymbolDb loadSymbolDb = SymbolDb <$> readSymbolDb ghcModExecutable :: IO FilePath -ghcModExecutable = #ifndef SPEC - getExecutablePath +ghcModExecutable = do + dir <- takeDirectory <$> getExecutablePath + return $ dir "ghc-mod" #else - return "dist/build/ghc-mod/ghc-mod" +ghcModExecutable = return "dist/build/ghc-mod/ghc-mod" #endif readSymbolDb :: IO (Map Symbol [ModuleString])