Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal On branch : master
http://hackage.haskell.org/trac/ghc/changeset/f45516f5e8c1eb80c0990142bb3cc90ce924b492 >--------------------------------------------------------------- commit f45516f5e8c1eb80c0990142bb3cc90ce924b492 Author: Duncan Coutts <[email protected]> Date: Fri Jan 16 00:13:21 2009 +0000 Read install dirs correctly from old-style .cabal/config files Should fix ticket #365 >--------------------------------------------------------------- cabal-install/Distribution/Client/Config.hs | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) diff --git a/cabal-install/Distribution/Client/Config.hs b/cabal-install/Distribution/Client/Config.hs index bf062c6..b785b51 100644 --- a/cabal-install/Distribution/Client/Config.hs +++ b/cabal-install/Distribution/Client/Config.hs @@ -43,11 +43,11 @@ import Distribution.ParseUtils ( FieldDescr(..), liftField , ParseResult(..), locatedErrorMsg, showPWarning , readFields, warning, lineNo - , simpleField, listField, parseFilePathQ, parseTokenQ ) + , simpleField, listField, parseFilePathQ, showFilePath, parseTokenQ ) import qualified Distribution.ParseUtils as ParseUtils ( Field(..) ) import Distribution.ReadE - ( succeedReadE ) + ( readP_to_E ) import Distribution.Simple.Command ( CommandUI(commandOptions), commandDefaultFlags, ShowOrParseArgs(..) , viewAsFieldDescr, OptionField, option, reqArg ) @@ -368,7 +368,9 @@ parseConfig initial = \str -> do fields <- readFields str let (knownSections, others) = partition isKnownSection fields config <- parse others - (user, global) <- foldM parseSections (mempty, mempty) knownSections + let user0 = savedUserInstallDirs config + global0 = savedGlobalInstallDirs config + (user, global) <- foldM parseSections (user0, global0) knownSections return config { savedUserInstallDirs = user, savedGlobalInstallDirs = global @@ -506,4 +508,6 @@ installDirsOptions = reqArgFlag "DIR" _sf _lf d (fmap fromPathTemplate . get) (set . fmap toPathTemplate) - reqArgFlag ad = reqArg ad (succeedReadE toFlag) flagToList + reqArgFlag ad = reqArg ad (fmap toFlag (readP_to_E err parseFilePathQ)) + (map (show . showFilePath) . flagToList) + where err _ = "paths with spaces must use Haskell String syntax" _______________________________________________ Cvs-libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-libraries
