From: simonmar Date: Wed, 20 Aug 2003 15:07:58 +0000 (+0000) Subject: [project @ 2003-08-20 15:07:56 by simonmar] X-Git-Tag: Approx_11550_changesets_converted~538 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=4be58768d4974fd1bddae44f12a0fde1f7fe6b30 [project @ 2003-08-20 15:07:56 by simonmar] Use Util.maybePrefixMatch instead of DriverUtil.my_prefix_match, and remove the latter. --- diff --git a/ghc/compiler/main/DriverFlags.hs b/ghc/compiler/main/DriverFlags.hs index 075d9bf..7d6680b 100644 --- a/ghc/compiler/main/DriverFlags.hs +++ b/ghc/compiler/main/DriverFlags.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverFlags.hs,v 1.119 2003/08/11 08:53:39 simonmar Exp $ +-- $Id: DriverFlags.hs,v 1.120 2003/08/20 15:07:56 simonmar Exp $ -- -- Driver flags -- @@ -127,7 +127,7 @@ findArg :: [(String,OptKind)] -> String -> Maybe (String,OptKind) findArg spec arg = case [ (remove_spaces rest, k) | (pat,k) <- spec, - Just rest <- [my_prefix_match pat arg], + Just rest <- [maybePrefixMatch pat arg], arg_ok k rest arg ] of [] -> Nothing diff --git a/ghc/compiler/main/DriverUtil.hs b/ghc/compiler/main/DriverUtil.hs index 4932b9e..d8fe68c 100644 --- a/ghc/compiler/main/DriverUtil.hs +++ b/ghc/compiler/main/DriverUtil.hs @@ -1,5 +1,5 @@ ----------------------------------------------------------------------------- --- $Id: DriverUtil.hs,v 1.38 2003/06/04 15:47:59 simonmar Exp $ +-- $Id: DriverUtil.hs,v 1.39 2003/08/20 15:07:57 simonmar Exp $ -- -- Utils for the driver -- @@ -51,9 +51,9 @@ getOptionsFromSource file | otherwise -> return [] matchOptions s - | Just s1 <- my_prefix_match "{-#" s, -- -} - Just s2 <- my_prefix_match "OPTIONS" (remove_spaces s1), - Just s3 <- my_prefix_match "}-#" (reverse s2) + | Just s1 <- maybePrefixMatch "{-#" s, -- -} + Just s2 <- maybePrefixMatch "OPTIONS" (remove_spaces s1), + Just s3 <- maybePrefixMatch "}-#" (reverse s2) = Just (reverse s3) | otherwise = Nothing @@ -109,13 +109,6 @@ my_partition p (a:as) Nothing -> (bs,a:cs) Just b -> ((a,b):bs,cs) -my_prefix_match :: String -> String -> Maybe String -my_prefix_match [] rest = Just rest -my_prefix_match (_:_) [] = Nothing -my_prefix_match (p:pat) (r:rest) - | p == r = my_prefix_match pat rest - | otherwise = Nothing - later = flip finally handleDyn :: Typeable ex => (ex -> IO a) -> IO a -> IO a diff --git a/ghc/compiler/main/Finder.lhs b/ghc/compiler/main/Finder.lhs index 2a97fd9..d73cba3 100644 --- a/ghc/compiler/main/Finder.lhs +++ b/ghc/compiler/main/Finder.lhs @@ -278,7 +278,7 @@ mkHomeModLocation mod_name src_filename = do let mod_basename = dots_to_slashes (moduleNameUserString mod_name) (basename,extension) = splitFilename src_filename - case my_prefix_match (reverse mod_basename) (reverse basename) of + case maybePrefixMatch (reverse mod_basename) (reverse basename) of Just "" -> mkHomeModLocationSearched mod_name "." mod_basename extension Just rest -> do