From: Simon Marlow Date: Fri, 30 Jan 2009 09:19:19 +0000 (+0000) Subject: Force the result of user-defined commands X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=ee26207114635c480dbc7518c0510545a6f62611;p=ghc-hetmet.git Force the result of user-defined commands so that exceptions are reported with "*** Exception" instead of as a panic. --- diff --git a/compiler/ghci/InteractiveUI.hs b/compiler/ghci/InteractiveUI.hs index 70a602f..8a70787 100644 --- a/compiler/ghci/InteractiveUI.hs +++ b/compiler/ghci/InteractiveUI.hs @@ -1030,6 +1030,9 @@ defineMacro overwrite s = do runMacro :: GHC.HValue{-String -> IO String-} -> String -> GHCi Bool runMacro fun s = do str <- io ((unsafeCoerce# fun :: String -> IO String) s) + -- make sure we force any exceptions in the result, while we are still + -- inside the exception handler for commands: + seqList str (return ()) enqueueCommands (lines str) return False