From: Simon Marlow Date: Wed, 21 Oct 2009 12:52:40 +0000 (+0000) Subject: GhciMonad.resume should restore the program's argv and progname X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=7068f60cc7aefef514f02d5927d5abbdcd5c94d4 GhciMonad.resume should restore the program's argv and progname I discovered that single-stepping over getArgs gave the wrong answer sometimes, because we were forgetting to set the program's argv and progname when resuming at a breakpoint. Test is ghci.debugger/scripts/getargs.script. --- diff --git a/ghc/GhciMonad.hs b/ghc/GhciMonad.hs index 0b9239d..94bd9c2 100644 --- a/ghc/GhciMonad.hs +++ b/ghc/GhciMonad.hs @@ -258,7 +258,13 @@ runStmt expr step = do GHC.runStmt expr step resume :: (SrcSpan -> Bool) -> GHC.SingleStep -> GHCi GHC.RunResult -resume canLogSpan step = GHC.resume canLogSpan step +resume canLogSpan step = do + st <- getGHCiState + reifyGHCi $ \x -> + withProgName (progname st) $ + withArgs (args st) $ + reflectGHCi x $ do + GHC.resume canLogSpan step -- -------------------------------------------------------------------------- -- timing & statistics