Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/1cbd950d105f3e8cd269a671035e1388b9249ba2 >--------------------------------------------------------------- commit 1cbd950d105f3e8cd269a671035e1388b9249ba2 Author: Simon Marlow <[email protected]> Date: Mon Feb 13 13:21:42 2012 +0000 Revert "Have :load work under -XSafe in GHCi." This reverts commit 5e9e07a33e17da01245f0cea78e6a6f8a32ac77d. Reverting to fix validate regression, and pending a redesign of the changes. >--------------------------------------------------------------- ghc/InteractiveUI.hs | 16 ++++++---------- 1 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs index 3d0adac..8d0205d 100644 --- a/ghc/InteractiveUI.hs +++ b/ghc/InteractiveUI.hs @@ -1655,9 +1655,7 @@ checkAdd :: Bool -> String -> GHCi (InteractiveImport) checkAdd star mstr = do dflags <- getDynFlags case safeLanguageOn dflags of - True | star -> do - liftIO $ putStrLn "Warning: can't use * imports with Safe Haskell; ignoring *" - checkAdd False mstr + True | star -> ghcError $ CmdLineError "can't use * imports with Safe Haskell" True -> do m <- lookupModule mstr s <- GHC.isModuleTrusted m @@ -1687,8 +1685,8 @@ checkAdd star mstr = do setGHCContextFromGHCiState :: GHCi () setGHCContextFromGHCiState = do st <- getGHCiState - goodTran <- mapMaybeM (tryBool . ok) $ transient_ctx st - goodRemb <- mapMaybeM (tryBool . ok) $ remembered_ctx st + goodTran <- filterM (tryBool . ok) $ transient_ctx st + goodRemb <- filterM (tryBool . ok) $ remembered_ctx st -- drop bad imports so we don't keep replaying it to the user! modifyGHCiState $ \s -> s { transient_ctx = goodTran } modifyGHCiState $ \s -> s { remembered_ctx = goodRemb } @@ -1698,8 +1696,6 @@ setGHCContextFromGHCiState = do ok (IIModule m) = checkAdd True (moduleNameString (moduleName m)) ok (IIDecl d) = checkAdd False (moduleNameString (unLoc (ideclName d))) - mapMaybeM f xs = catMaybes `fmap` sequence (map f xs) - setContext :: [String] -> [String] -> GHCi () setContext starred not_starred = do is1 <- mapM (checkAdd True) starred @@ -2756,12 +2752,12 @@ ghciHandle h m = Haskeline.catch m $ \e -> unblock (h e) ghciTry :: GHCi a -> GHCi (Either SomeException a) ghciTry (GHCi m) = GHCi $ \s -> gtry (m s) -tryBool :: GHCi a -> GHCi (Maybe a) +tryBool :: GHCi a -> GHCi Bool tryBool m = do r <- ghciTry m case r of - Left e -> showException e >> return Nothing - Right a -> return $ Just a + Left e -> showException e >> return False + Right _ -> return True -- ---------------------------------------------------------------------------- -- Utils _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
