Commit 246250d7 authored by Simon Marlow's avatar Simon Marlow
Browse files

fix #1200: don't evaluate the result of main

parent 79791534
......@@ -58,13 +58,17 @@ doIt ghc args = do
"-ignore-dot-ghci" : ghc_args ++
[ "-e","System.Environment.withProgName "++show filename++" (System.Environment.withArgs ["
++ concat (intersperse "," (map show prog_args))
++ "] (GHC.TopHandler.runIOFastExit Main.main))", filename])
++ "] (GHC.TopHandler.runIOFastExit (Main.main Prelude.>> (Prelude.return ()))))", filename])
-- runIOFastExit: makes exceptions raised by Main.main
-- behave in the same way as for a compiled program.
-- The "fast exit" part just calls exit() directly
-- instead of doing an orderly runtime shutdown,
-- otherwise the main GHCi thread will complain about
-- being interrupted.
--
-- Why (main >> return ()) rather than just main? Because
-- otherwise GHCi by default tries to evaluate the result
-- of the IO in order to show it (see #1200).
exitWith res
notArg ('-':_) = False
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment