Merge branch 'master' of http://darcs.haskell.org/ghc
authorIan Lynagh <igloo@earth.li>
Sun, 3 Apr 2011 12:46:22 +0000 (13:46 +0100)
committerIan Lynagh <igloo@earth.li>
Sun, 3 Apr 2011 12:46:22 +0000 (13:46 +0100)
ghc/InteractiveUI.hs

index 3062133..2685377 100644 (file)
@@ -848,8 +848,11 @@ lookupCommand' str' = do
   macros <- readIORef macros_ref
   let{ (str, cmds) = case str' of
       ':' : rest -> (rest, builtin_commands)
-      _ -> (str', macros ++ builtin_commands) }
+      _ -> (str', builtin_commands ++ macros) }
   -- look for exact match first, then the first prefix match
+  -- We consider builtin commands first: since new macros are appended
+  -- on the *end* of the macros list, this is consistent with the view
+  -- that things defined earlier should take precedence. See also #3858
   return $ case [ c | c <- cmds, str == cmdName c ] of
            c:_ -> Just c
            [] -> case [ c | c@(s,_,_) <- cmds, str `isPrefixOf` s ] of