[Pkg-haskell-commits] darcs: ghc: Refresh getallinfo-nothing-ghci-566331
Joachim Breitner
mail at joachim-breitner.de
Fri Feb 3 16:42:20 UTC 2012
Sat Jul 30 14:26:41 UTC 2011 Joachim Breitner <mail at joachim-breitner.de>
* Refresh getallinfo-nothing-ghci-566331
Ignore-this: 2c165146997267b79d39d1faca702b90
A! ./patches/getallinfo-nothing-ghci-566331
Sat Jul 30 14:26:41 UTC 2011 Joachim Breitner <mail at joachim-breitner.de>
* Refresh getallinfo-nothing-ghci-566331
Ignore-this: 2c165146997267b79d39d1faca702b90
diff -rN -u old-ghc//patches/getallinfo-nothing-ghci-566331 new-ghc//patches/getallinfo-nothing-ghci-566331
--- old-ghc//patches/getallinfo-nothing-ghci-566331 1970-01-01 00:00:00.000000000 +0000
+++ new-ghc//patches/getallinfo-nothing-ghci-566331 2012-02-03 16:42:20.363249931 +0000
@@ -0,0 +1,57 @@
+Index: ghc-7.0.2/utils/haddock/src/Haddock/Interface/AttachInstances.hs
+===================================================================
+--- ghc-7.0.2.orig/utils/haddock/src/Haddock/Interface/AttachInstances.hs 2011-02-28 23:40:13.000000000 +0530
++++ ghc-7.0.2/utils/haddock/src/Haddock/Interface/AttachInstances.hs 2011-03-05 19:05:51.000000000 +0530
+@@ -31,7 +31,9 @@
+ import HscTypes (withSession)
+ #endif
+ import MonadUtils (liftIO)
++#ifdef GHCI
+ import TcRnDriver (tcRnGetInfo)
++#endif
+ import TypeRep hiding (funTyConName)
+ import Var hiding (varName)
+ import TyCon
+@@ -56,7 +58,11 @@
+ attachToExportItem iface ifaceMap instIfaceMap export =
+ case export of
+ ExportDecl { expItemDecl = L _ (TyClD d) } -> do
++#ifdef GHCI
+ mb_info <- getAllInfo (unLoc (tcdLName d))
++#else
++ let mb_info = Nothing
++#endif
+ let export' =
+ export {
+ expItemInstances =
+@@ -95,12 +101,14 @@
+ modName = nameModule name
+
+
++#ifdef GHCI
+ -- | Like GHC's getInfo but doesn't cut things out depending on the
+ -- interative context, which we don't set sufficiently anyway.
+ getAllInfo :: GhcMonad m => Name -> m (Maybe (TyThing,Fixity,[Instance]))
+ getAllInfo name = withSession $ \hsc_env -> do
+ (_msgs, r) <- liftIO $ tcRnGetInfo hsc_env name
+ return r
++#endif
+
+
+ --------------------------------------------------------------------------------
+Index: ghc-7.0.2/utils/haddock/src/Haddock/Interface/Create.hs
+===================================================================
+--- ghc-7.0.2.orig/utils/haddock/src/Haddock/Interface/Create.hs 2011-02-28 23:40:13.000000000 +0530
++++ ghc-7.0.2/utils/haddock/src/Haddock/Interface/Create.hs 2011-03-05 19:04:57.000000000 +0530
+@@ -514,7 +514,11 @@
+ Nothing -> do
+ -- If we can't find the declaration, it must belong to
+ -- another package
++#ifdef GHCI
+ mbTyThing <- liftGhcToErrMsgGhc $ lookupName t
++#else
++ mbTyThing <- liftGhcToErrMsgGhc $ lookupGlobalName t
++#endif
+ -- show the name as exported as well as the name's
+ -- defining module (because the latter is where we
+ -- looked for the .hi/.haddock). It's to help people
More information about the Pkg-haskell-commits
mailing list