diff -r ed8bab6e92ba -r bfae7354d42f tools/pas2c/PascalPreprocessor.hs --- a/tools/pas2c/PascalPreprocessor.hs Wed May 07 22:47:54 2014 +0200 +++ b/tools/pas2c/PascalPreprocessor.hs Fri May 09 22:36:15 2014 +0400 @@ -92,13 +92,12 @@ s <- try (string "IFDEF") <|> try (string "IFNDEF") let f = if s == "IFNDEF" then not else id - spaces - d <- identifier + ds <- (spaces >> identifier) `sepBy` (spaces >> string "OR") spaces char' '}' updateState $ \(m, b) -> - (m, (f $ d `Map.member` m) : b) + (m, (f $ any (flip Map.member m) ds) : b) return ""