From 64512e4a070a69359bc26d43670cec6abc672caa Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 6 Dec 2007 14:00:10 +0000 Subject: Source links must point to the original module, not the referring module --- src/Haddock/Backends/Html.hs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Haddock/Backends/Html.hs b/src/Haddock/Backends/Html.hs index bd709e30..bb0927ca 100644 --- a/src/Haddock/Backends/Html.hs +++ b/src/Haddock/Backends/Html.hs @@ -1467,9 +1467,18 @@ topDeclBox ((_,_,maybe_source_url), (_,_,maybe_wiki_url), iface) case maybe_source_url of Nothing -> Html.emptyTable Just url -> tda [theclass "declbut"] << - let url' = spliceURL (Just fname) (Just mod) + let url' = spliceURL (Just fname) (Just orig_mod) (Just name) (Just loc) url in anchor ! [href url'] << toHtml "Source" + + mod = iface_module iface + + -- for source links, we want to point to the original module + -- for the name, because only that will have the source. + orig_mod = case Map.lookup name (iface_env iface) of + Just (Qual m _) -> m + _ -> mod + wikiLink = case maybe_wiki_url of Nothing -> Html.emptyTable @@ -1478,8 +1487,7 @@ topDeclBox ((_,_,maybe_source_url), (_,_,maybe_wiki_url), iface) (Just name) (Just loc) url in anchor ! [href url'] << toHtml "Comments" - mod = ifaceMod iface - fname = unpackFS (srcSpanFile loc) + mod = iface_module iface -- a box for displaying an 'argument' (some code which has text to the -- right of it). Wrapping is not allowed in these boxes, whereas it is -- cgit v1.2.3