fix value of this_mod passed to tcRnImports (#5545)
authorSimon Marlow <marlowsd@gmail.com>
Tue, 18 Oct 2011 10:31:53 +0000 (11:31 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Tue, 18 Oct 2011 12:23:36 +0000 (13:23 +0100)
compiler/main/HscMain.lhs
compiler/main/InteractiveEval.hs

index b8874b1..46a46a7 100644 (file)
@@ -300,18 +300,17 @@ hscGetModuleInterface hsc_env mod
 -- | Rename some import declarations
 hscRnImportDecls
         :: HscEnv
-        -> Module
         -> [LImportDecl RdrName]
         -> IO GlobalRdrEnv
 
 -- It is important that we use tcRnImports instead of calling rnImports directly
 -- because tcRnImports will force-load any orphan modules necessary, making extra
 -- instances/family instances visible (GHC #4832)
-hscRnImportDecls hsc_env this_mod import_decls
+hscRnImportDecls hsc_env import_decls
   = runHsc hsc_env $ ioMsgMaybe $ 
-    initTc hsc_env HsSrcFile False this_mod $
+    initTc hsc_env HsSrcFile False iNTERACTIVE $ -- iNTERACTIVE, see #5545
     fmap tcg_rdr_env $ 
-    tcRnImports hsc_env this_mod import_decls
+    tcRnImports hsc_env iNTERACTIVE import_decls
 #endif
 
 -- -----------------------------------------------------------------------------
index b10f8e7..4e100db 100644 (file)
@@ -51,7 +51,6 @@ import Name             hiding ( varName )
 import NameSet
 import Avail
 import RdrName
-import PrelNames (pRELUDE)
 import VarSet
 import VarEnv
 import ByteCodeInstr
@@ -814,7 +813,7 @@ setContext imports
 findGlobalRdrEnv :: HscEnv -> [InteractiveImport] -> IO GlobalRdrEnv
 -- Compute the GlobalRdrEnv for the interactive context
 findGlobalRdrEnv hsc_env imports
-  = do { idecls_env <- hscRnImportDecls hsc_env this_mod idecls
+  = do { idecls_env <- hscRnImportDecls hsc_env idecls
                            -- This call also loads any orphan modules
        ; imods_env  <- mapM (mkTopLevEnv (hsc_HPT hsc_env)) imods
        ; return (foldr plusGlobalRdrEnv idecls_env imods_env) }
@@ -825,10 +824,6 @@ findGlobalRdrEnv hsc_env imports
     imods :: [Module]
     imods = [m | IIModule m <- imports]
 
-    this_mod = case imods of 
-                 []    -> pRELUDE
-                 (m:_) -> m
-
 availsToGlobalRdrEnv :: ModuleName -> [AvailInfo] -> GlobalRdrEnv
 availsToGlobalRdrEnv mod_name avails
   = mkGlobalRdrEnv (gresFromAvails imp_prov avails)