From d5981949e0c363506e3069f8f6da28d0742a7dc7 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 9 Dec 2013 15:17:55 -0400 Subject: [PATCH] detect parse failure where command is somehow empty (wtf?) --- Build/EvilLinker.hs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Build/EvilLinker.hs b/Build/EvilLinker.hs index d26f9c2b78..8166d0e83f 100644 --- a/Build/EvilLinker.hs +++ b/Build/EvilLinker.hs @@ -124,13 +124,15 @@ runParser' p s paramfile = either failedparse id (parse p "" s) failedparse e = error $ (show e) ++ "\n<<<\n" ++ s ++ "\n>>>" ++ - "\nparam file contained: <<<\n" ++ paramfile ++ "\n>>>" + "\nparam file contained: >>>\n" ++ paramfile ++ "\n<<<" atFile :: FilePath -> String atFile f = '@':f runAtFile :: Parser CmdParams -> String -> FilePath -> [String] -> IO (String, Bool) runAtFile p s f extraparams = do + when (null $ opts c) $ + error $ "failed to find any options for " ++ f ++ " in >>>" ++ s ++ "<<<" writeFile f (opts c) out <- getOutput (cmd c) (atFile f:extraparams) (env c) removeFile f