Repository : ssh://darcs.haskell.org//srv/darcs/haddock On branch : master
http://hackage.haskell.org/trac/ghc/changeset/07c816c5e548824bb089442cf32d70682e47200b >--------------------------------------------------------------- commit 07c816c5e548824bb089442cf32d70682e47200b Author: David Waern <[email protected]> Date: Sat Nov 26 22:10:28 2011 +0100 Fix module reference bug. >--------------------------------------------------------------- src/Haddock/Backends/Xhtml/DocMarkup.hs | 3 +-- src/Haddock/Backends/Xhtml/Names.hs | 6 +++--- src/Haddock/GhcUtils.hs | 4 ---- tests/html-tests/tests/B.hs | 1 + tests/html-tests/tests/B.html.ref | 3 +++ 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Haddock/Backends/Xhtml/DocMarkup.hs b/src/Haddock/Backends/Xhtml/DocMarkup.hs index 87d67b7..f506d2b 100644 --- a/src/Haddock/Backends/Xhtml/DocMarkup.hs +++ b/src/Haddock/Backends/Xhtml/DocMarkup.hs @@ -21,7 +21,6 @@ module Haddock.Backends.Xhtml.DocMarkup ( import Haddock.Backends.Xhtml.Names import Haddock.Backends.Xhtml.Utils -import Haddock.GhcUtils import Haddock.Types import Haddock.Utils @@ -39,7 +38,7 @@ parHtmlMarkup qual ppId = Markup { markupIdentifier = thecode . ppId, markupIdentifierUnchecked = thecode . ppUncheckedLink qual, markupModule = \m -> let (mdl,ref) = break (=='#') m - in ppModuleRef (mkModuleNoPackage mdl) ref, + in ppModuleRef (mkModuleName mdl) ref, markupEmphasis = emphasize, markupMonospaced = thecode, markupUnorderedList = unordList, diff --git a/src/Haddock/Backends/Xhtml/Names.hs b/src/Haddock/Backends/Xhtml/Names.hs index 19efea2..7c2375c 100644 --- a/src/Haddock/Backends/Xhtml/Names.hs +++ b/src/Haddock/Backends/Xhtml/Names.hs @@ -127,9 +127,9 @@ ppModule mdl = anchor ! [href (moduleUrl mdl)] << toHtml (moduleString mdl) -ppModuleRef :: Module -> String -> Html -ppModuleRef mdl ref = anchor ! [href (moduleUrl mdl ++ ref)] - << toHtml (moduleString mdl) +ppModuleRef :: ModuleName -> String -> Html +ppModuleRef mdl ref = anchor ! [href (moduleHtmlFile' mdl ++ ref)] + << toHtml (moduleNameString mdl) -- NB: The ref parameter already includes the '#'. -- This function is only called from markupModule expanding a -- DocModule, which doesn't seem to be ever be used. diff --git a/src/Haddock/GhcUtils.hs b/src/Haddock/GhcUtils.hs index 6d17058..2fb8c8a 100644 --- a/src/Haddock/GhcUtils.hs +++ b/src/Haddock/GhcUtils.hs @@ -61,10 +61,6 @@ unpackPackageId p where str = packageIdString p -mkModuleNoPackage :: String -> Module -mkModuleNoPackage str = mkModule (stringToPackageId "") (mkModuleName str) - - lookupLoadedHomeModuleGRE :: GhcMonad m => ModuleName -> m (Maybe GlobalRdrEnv) lookupLoadedHomeModuleGRE mod_name = withSession $ \hsc_env -> case lookupUFM (hsc_HPT hsc_env) mod_name of diff --git a/tests/html-tests/tests/B.hs b/tests/html-tests/tests/B.hs index 38310eb..28cda4a 100644 --- a/tests/html-tests/tests/B.hs +++ b/tests/html-tests/tests/B.hs @@ -3,5 +3,6 @@ import A ( A(..), test2 ) -- | This link shouldn't work: 'other'. -- These links should work: 'A.other', 'Data.List.sortBy', 'test2', 'A.test2', 'Data.Maybe.fromMaybe'. +-- Module link: "Prelude". test :: Int test = 1 diff --git a/tests/html-tests/tests/B.html.ref b/tests/html-tests/tests/B.html.ref index f81460e..7f5d535 100644 --- a/tests/html-tests/tests/B.html.ref +++ b/tests/html-tests/tests/B.html.ref @@ -99,6 +99,9 @@ window.onload = function () {pageLoad();setSynopsis("mini_B.html");}; >fromMaybe</a ></code >. + Module link: <a href="" + >Prelude</a + >. </p ></div ></div _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
