Skip to content

Commit

Permalink
Fix parsing of commas in programArgs
Browse files Browse the repository at this point in the history
  • Loading branch information
jgotoh committed Aug 24, 2024
1 parent fceeb15 commit 38ca2d3
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
8 changes: 7 additions & 1 deletion cabal-install/parser-tests/Tests/ParserTests.hs
Original file line number Diff line number Diff line change
Expand Up @@ -472,7 +472,13 @@ testProgramOptionsConcat = do
expected :: PackageConfig
expected =
mempty
{ packageConfigProgramArgs = MapMappend $ Map.fromList [("ghc", ["-threaded", "-Wall", "-fno-state-hack"]), ("gcc", ["-baz", "-foo", "-bar"])]
{ packageConfigProgramArgs =
MapMappend $
Map.fromList
[ ("ghc", ["-threaded", "-Wall", "-fno-state-hack"])
, ("gcc", ["-baz", "-foo", "-bar"])
, ("ld", ["-Wl,--gc-sections"])
]
}

testRelaxDepsConcat :: Assertion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ program-options
program-options
ghc-options: -threaded -Wall
gcc-options: -baz
ld-options: -Wl,--gc-sections
4 changes: 2 additions & 2 deletions cabal-install/src/Distribution/Client/ProjectConfig/Parsec.hs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import Distribution.Solver.Types.ProjectConfigPath

import Distribution.Fields (Field (..), FieldLine (..), FieldName, Name (..), SectionArg (..), readFields', showPWarning)
import Distribution.Fields.LexerMonad (toPWarnings)
import Distribution.Parsec (CabalParsing, PError (..), ParsecParser, eitherParsec, parsec, parsecFilePath, parsecToken, runParsecParser)
import Distribution.Parsec (CabalParsing, PError (..), ParsecParser, eitherParsec, parsec, parsecFilePath, parsecToken', runParsecParser)
import Distribution.Parsec.Position (Position (..), zeroPos)
import Distribution.Parsec.Warning (PWarnType (..))
import Distribution.Simple.Program.Db (ProgramDb, defaultProgramDb, knownPrograms, lookupKnownProgram)
Expand Down Expand Up @@ -393,7 +393,7 @@ parseProgramArgsFieldLines :: Position -> [FieldLine Position] -> ParseResult [S
parseProgramArgsFieldLines pos = runFieldParser pos programArgsFieldParser cabalSpec

programArgsFieldParser :: CabalParsing m => m [String]
programArgsFieldParser = parseSep (Proxy :: Proxy FSep) parsecToken
programArgsFieldParser = parseSep (Proxy :: Proxy NoCommaFSep) parsecToken'

type FieldSuffix = String

Expand Down

0 comments on commit 38ca2d3

Please sign in to comment.