diff options
author | Benjamin Bykowski <alpha-theta@web.de> | 2016-01-27 11:05:13 +0100 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-01-27 11:32:15 +0100 |
commit | 1f6d1422f9fe875e1d150b423c4864b42d96b8db (patch) | |
tree | 1aaacc244338d58c99da215c24ffc195513b8d3c /ghc | |
parent | 448ea978318a9f8c9bb611803aa01f934b111fe9 (diff) | |
download | haskell-1f6d1422f9fe875e1d150b423c4864b42d96b8db.tar.gz |
ghci: fix trac issue #11481
Test Plan: validate
Reviewers: thomie, austin, bgamari
Reviewed By: bgamari
Differential Revision: https://phabricator.haskell.org/D1833
GHC Trac Issues: #11481
Diffstat (limited to 'ghc')
-rw-r--r-- | ghc/GHCi/UI.hs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/ghc/GHCi/UI.hs b/ghc/GHCi/UI.hs index fc03b5fbdb..2528503092 100644 --- a/ghc/GHCi/UI.hs +++ b/ghc/GHCi/UI.hs @@ -1460,17 +1460,14 @@ checkModule m = do -- :load, :add, :reload -- | Sets '-fdefer-type-errors' if 'defer' is true, executes 'load' and unsets --- '-fdefer-type-errors' again if it has not been set before +-- '-fdefer-type-errors' again if it has not been set before. deferredLoad :: Bool -> InputT GHCi SuccessFlag -> InputT GHCi () deferredLoad defer load = do - flags <- getDynFlags - deferredBefore <- return (gopt Opt_DeferTypeErrors flags) - when (defer) $ Monad.void $ - GHC.setProgramDynFlags $ gopt_set flags Opt_DeferTypeErrors + originalFlags <- getDynFlags + when defer $ Monad.void $ + GHC.setProgramDynFlags $ setGeneralFlag' Opt_DeferTypeErrors originalFlags Monad.void $ load - flags <- getDynFlags - when (not deferredBefore) $ Monad.void $ - GHC.setProgramDynFlags $ gopt_unset flags Opt_DeferTypeErrors + Monad.void $ GHC.setProgramDynFlags $ originalFlags loadModule :: [(FilePath, Maybe Phase)] -> InputT GHCi SuccessFlag loadModule fs = timeIt (const Nothing) (loadModule' fs) |