summaryrefslogtreecommitdiff
path: root/Annex
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
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')
-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