Index: Lib/pydoc.py =================================================================== --- Lib/pydoc.py (revision 79387) +++ Lib/pydoc.py (working copy) @@ -356,7 +356,8 @@ 'marshal', 'posix', 'signal', 'sys', 'thread', 'zipimport') or (file.startswith(basedir) and - not file.startswith(os.path.join(basedir, 'site-packages'))))): + not file.startswith(os.path.join(basedir, 'site-packages')))) and + object.__name__ not in ('xml.etree')): if docloc.startswith("http://"): docloc = "%s/%s" % (docloc.rstrip("/"), object.__name__) else: Index: Lib/test/test_pydoc.py =================================================================== --- Lib/test/test_pydoc.py (revision 79387) +++ Lib/test/test_pydoc.py (working copy) @@ -7,6 +7,7 @@ import pydoc import inspect import unittest +import xml.etree import test.test_support from contextlib import contextmanager from test.test_support import ( @@ -244,6 +245,11 @@ print_diffs(expected_text, result) self.fail("outputs are not equal, see diff above") + def test_issue8225(self): + # Test issue8225 to ensure no doc link appears for xml.etree + result, doc_loc = get_pydoc_text(xml.etree) + self.assertEqual(doc_loc, "", "MODULE DOCS incorrectly includes a link") + def test_not_here(self): missing_module = "test.i_am_not_here" result = run_pydoc(missing_module)