From ee26207114635c480dbc7518c0510545a6f62611 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Fri, 30 Jan 2009 09:19:19 +0000 Subject: [PATCH] Force the result of user-defined commands so that exceptions are reported with "*** Exception" instead of as a panic. --- compiler/ghci/InteractiveUI.hs | 3 +++ 1 file changed, 3 insertions(+) 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 -- 1.7.10.4