projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d5b1999
)
fix #1734, panic in :show modules after load failure
author
Simon Marlow
<simonmar@microsoft.com>
Wed, 26 Sep 2007 10:07:32 +0000
(10:07 +0000)
committer
Simon Marlow
<simonmar@microsoft.com>
Wed, 26 Sep 2007 10:07:32 +0000
(10:07 +0000)
compiler/ghci/InteractiveUI.hs
patch
|
blob
|
history
diff --git
a/compiler/ghci/InteractiveUI.hs
b/compiler/ghci/InteractiveUI.hs
index
7c64941
..
4d3d08d
100644
(file)
--- a/
compiler/ghci/InteractiveUI.hs
+++ b/
compiler/ghci/InteractiveUI.hs
@@
-933,10
+933,9
@@
doLoad session howmuch = do
afterLoad ok session = do
io (revertCAFs) -- always revert CAFs on load.
discardTickArrays
afterLoad ok session = do
io (revertCAFs) -- always revert CAFs on load.
discardTickArrays
- graph <- io (GHC.getModuleGraph session)
- graph' <- filterM (io . GHC.isLoaded session . GHC.ms_mod_name) graph
- setContextAfterLoad session graph'
- modulesLoadedMsg ok (map GHC.ms_mod_name graph')
+ loaded_mods <- getLoadedModules session
+ setContextAfterLoad session loaded_mods
+ modulesLoadedMsg ok (map GHC.ms_mod_name loaded_mods)
setContextAfterLoad session [] = do
prel_mod <- getPrelude
setContextAfterLoad session [] = do
prel_mod <- getPrelude
@@
-1287,10
+1286,15
@@
showCmd str = do
showModules = do
session <- getSession
showModules = do
session <- getSession
- let show_one ms = do m <- io (GHC.showModule session ms)
- io (putStrLn m)
+ loaded_mods <- getLoadedModules session
+ -- we want *loaded* modules only, see #1734
+ let show_one ms = do m <- io (GHC.showModule session ms); io (putStrLn m)
+ mapM_ show_one loaded_mods
+
+getLoadedModules :: GHC.Session -> GHCi [GHC.ModSummary]
+getLoadedModules session = do
graph <- io (GHC.getModuleGraph session)
graph <- io (GHC.getModuleGraph session)
- mapM_ show_one graph
+ filterM (io . GHC.isLoaded session . GHC.ms_mod_name) graph
showBindings = do
s <- getSession
showBindings = do
s <- getSession