diff options
| author | Simon Marlow <marlowsd@gmail.com> | 2012-11-01 08:51:12 +0000 |
|---|---|---|
| committer | Simon Marlow <marlowsd@gmail.com> | 2012-11-01 10:13:18 +0000 |
| commit | 458ee4fe496bf55a827900fe5fd1498dadfb8fb1 (patch) | |
| tree | dae7d117c0d2fe833f68ea4069573a3c9df4fcda /compiler/main/InteractiveEval.hs | |
| parent | 3a6b1bfb08602a8193b0025f0fe47ec8ddf8dad2 (diff) | |
| download | haskell-458ee4fe496bf55a827900fe5fd1498dadfb8fb1.tar.gz | |
Add -fghci-hist-size=N to set the number of previous steps stored by :trace
Diffstat (limited to 'compiler/main/InteractiveEval.hs')
| -rw-r--r-- | compiler/main/InteractiveEval.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/main/InteractiveEval.hs b/compiler/main/InteractiveEval.hs index 64b2d3303c..9b9c14bb0b 100644 --- a/compiler/main/InteractiveEval.hs +++ b/compiler/main/InteractiveEval.hs @@ -220,13 +220,15 @@ runStmtWithLocation source linenumber expr step = let ic = hsc_IC hsc_env bindings = (ic_tythings ic, ic_rn_gbl_env ic) + size = ghciHistSize idflags' + case step of RunAndLogSteps -> traceRunStatus expr bindings tyThings - breakMVar statusMVar status emptyHistory + breakMVar statusMVar status (emptyHistory size) _other -> handleRunStatus expr bindings tyThings - breakMVar statusMVar status emptyHistory + breakMVar statusMVar status (emptyHistory size) runDecls :: GhcMonad m => String -> m [Name] runDecls = runDeclsWithLocation "<interactive>" 1 @@ -268,8 +270,8 @@ withVirtualCWD m = do parseImportDecl :: GhcMonad m => String -> m (ImportDecl RdrName) parseImportDecl expr = withSession $ \hsc_env -> liftIO $ hscImport hsc_env expr -emptyHistory :: BoundedList History -emptyHistory = nilBL 50 -- keep a log of length 50 +emptyHistory :: Int -> BoundedList History +emptyHistory size = nilBL size handleRunStatus :: GhcMonad m => String-> ([TyThing],GlobalRdrEnv) -> [Id] |
