summaryrefslogtreecommitdiff
path: root/Annex/Path.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-02-28 16:59:52 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-02-28 16:59:52 -0400
commita35208c5df555006431a66436288ce156af4fdb9 (patch)
tree5c07d4b504f56f7f1f58a9c186a0166be67b87d8 /Annex/Path.hs
parent037834477ef6ac97f9a50e02a529a4f6d2fc7b45 (diff)
make programPath return FilePath not Maybe FilePath
Looking at the few current callers, it's ok to have programPath throw an exception, in the unusual case where it cannot find git-annex.
Diffstat (limited to 'Annex/Path.hs')
-rw-r--r--Annex/Path.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/Annex/Path.hs b/Annex/Path.hs
index 6186a887b..ac4e77645 100644
--- a/Annex/Path.hs
+++ b/Annex/Path.hs
@@ -17,9 +17,10 @@ import System.Environment
-
- getExecutablePath is available since ghc 7.4.2. On OSs it supports
- well, it returns the complete path to the program. But, on other OSs,
- - it might return just the basename.
+ - it might return just the basename. Fall back to reading the programFile,
+ - or searching for the command name in PATH.
-}
-programPath :: IO (Maybe FilePath)
+programPath :: IO FilePath
programPath = do
#if MIN_VERSION_base(4,6,0)
exe <- getExecutablePath
@@ -29,6 +30,4 @@ programPath = do
#else
p <- readProgramFile
#endif
- -- In case readProgramFile returned just the command name,
- -- fall back to finding it in PATH.
- searchPath p
+ maybe cannotFindProgram return =<< searchPath p