diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/Haddock/Backends/Html.hs | 14 | 
1 files 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  | 
