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

Reply via email to