Issue 3190: pydoc now hides module __package__ attributes
authorNick Coghlan <ncoghlan@gmail.com>
Wed, 2 Jul 2008 13:09:19 +0000 (13:09 +0000)
committerNick Coghlan <ncoghlan@gmail.com>
Wed, 2 Jul 2008 13:09:19 +0000 (13:09 +0000)
Lib/pydoc.py
Lib/test/test_pydoc.py
Misc/NEWS

index 58e80676d1d3fa38f80c52091c2084a2949c3df1..2035f7889ee4c19e17cb22a08a289cf7282543f7 100755 (executable)
@@ -160,8 +160,9 @@ def _split_list(s, predicate):
 def visiblename(name, all=None):
     """Decide whether to show documentation on a variable."""
     # Certain special names are redundant.
-    if name in ('__builtins__', '__doc__', '__file__', '__path__',
-                '__module__', '__name__', '__slots__'): return 0
+    _hidden_names = ('__builtins__', '__doc__', '__file__', '__path__',
+                     '__module__', '__name__', '__slots__', '__package__')
+    if name in _hidden_names: return 0
     # Private names are hidden, but special names are displayed.
     if name.startswith('__') and name.endswith('__'): return 1
     if all is not None:
index c78e986e2b876bfcfec23e83ec69c4b0b45db106..91a997783c5f076d65222a256362ca5b04e8b8a7 100644 (file)
@@ -57,7 +57,6 @@ FUNCTIONS
 DATA
     __author__ = 'Benjamin Peterson'
     __credits__ = 'Nobody'
-    __package__ = None
     __version__ = '1.2.3.4'
 
 VERSION
@@ -146,7 +145,6 @@ war</tt></dd></dl>
 <tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
 <td width="100%%"><strong>__author__</strong> = 'Benjamin Peterson'<br>
 <strong>__credits__</strong> = 'Nobody'<br>
-<strong>__package__</strong> = None<br>
 <strong>__version__</strong> = '1.2.3.4'</td></tr></table><p>
 <table width="100%%" cellspacing=0 cellpadding=2 border=0 summary="section">
 <tr bgcolor="#7799ee">
index 686a87fe3174cb7f4016a658ad47b9bb3d0f3f26..36afc09d6ce4ba4fc2eed1b52aa787f8fc38a0ec 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -33,6 +33,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #3190: Pydoc now hides the automatic module attribute __package__ (the
+  handling is now the same as that of other special attributes like __name__).
+
 - Issue #2885 (partial): The urllib.urlopen() function has been deprecated for
   removal in Python 3.0 in favor of urllib2.urlopen().