From ccd76ebf641ad481e549da97c85f73101a3149fd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 10 Jul 2015 02:03:03 -0400 Subject: wired up global options Note that I ran into a problem where parsing the global options looped forever, eating memory. It was somehow caused by stacking combineGlobalSetters inside a combineGlobalSetters. Maybe due to both using "many"? Anyway, changed things to avoid that. --- Types/DeferredParse.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Types/DeferredParse.hs') diff --git a/Types/DeferredParse.hs b/Types/DeferredParse.hs index 4c6e90175..c11b722bf 100644 --- a/Types/DeferredParse.hs +++ b/Types/DeferredParse.hs @@ -46,6 +46,6 @@ globalFlag setter = flag' (DeferredParse setter) globalSetter :: (v -> Annex ()) -> Parser v -> Parser GlobalSetter globalSetter setter parser = DeferredParse . setter <$> parser -globalSetters :: [Parser GlobalSetter] -> Parser GlobalSetter -globalSetters l = DeferredParse . sequence_ . map getParsed +combineGlobalSetters :: [Parser GlobalSetter] -> Parser GlobalSetter +combineGlobalSetters l = DeferredParse . sequence_ . map getParsed <$> many (foldl1 (<|>) l) -- cgit v1.2.3