cpython/Lib
Barry Warsaw 00decd7835 Patch #1520294: Support for getset and member descriptors in types.py,
inspect.py, and pydoc.py.  Specifically, this allows for querying the type of
an object against these built-in C types and more importantly, for getting
their docstrings printed in the interactive interpreter's help() function.

This patch includes a new built-in module called _types which provides
definitions of getset and member descriptors for use by the types.py module.
These types are exposed as types.GetSetDescriptorType and
types.MemberDescriptorType.  Query functions are provided as
inspect.isgetsetdescriptor() and inspect.ismemberdescriptor().  The
implementations of these are robust enough to work with Python implementations
other than CPython, which may not have these fundamental types.

The patch also includes documentation and test suite updates.

I commit these changes now under these guiding principles:

1. Silence is assent.  The release manager has not said "no", and of the few
   people that cared enough to respond to the thread, the worst vote was "0".

2. It's easier to ask for forgiveness than permission.

3. It's so dang easy to revert stuff in svn, that you could view this as a
   forcing function. :)

Windows build patches will follow.
2006-07-27 23:43:15 +00:00
..
bsddb - bsddb: multithreaded DB access using the simple bsddb module interface 2006-06-15 08:52:32 +00:00
compiler Whitespace normalization. 2006-06-27 11:52:49 +00:00
ctypes Remove code that is no longer used (ctypes.com). 2006-07-27 18:39:55 +00:00
curses [Bug #1152762] Ensure _end_of_line() returns an x-coordinate that's within the text box 2005-06-02 00:10:04 +00:00
distutils Bump distutils version to 2.5, as several new features 2006-07-27 06:38:16 +00:00
email Forward port some fixes that were in email 2.5 but for some reason didn't make 2006-07-26 05:54:46 +00:00
encodings Make import/lookup of mbcs fail on non-Windows systems. 2006-06-15 06:45:05 +00:00
hotshot
idlelib Fix bug #1517990: IDLE keybindings on OSX 2006-07-25 20:28:55 +00:00
lib-tk Patch #1524429: Use repr instead of backticks again. 2006-07-18 17:46:31 +00:00
logging Addressed SF#1524081 by using a dictionary to map level names to syslog priority names, rather than a string.lower(). 2006-07-20 23:20:12 +00:00
msilib Properly generate logical file ids. Fixes #1515998. 2006-07-06 19:28:03 +00:00
plat-aix3
plat-aix4
plat-atheos
plat-beos5
plat-darwin
plat-freebsd2
plat-freebsd3
plat-freebsd4
plat-freebsd5
plat-freebsd6
plat-freebsd7 Whitespace normalization. 2005-07-17 23:16:17 +00:00
plat-generic
plat-irix5
plat-irix6
plat-linux2
plat-mac * If BuildApplet.py is used as an applet it starts with a version of 2006-06-07 20:18:44 +00:00
plat-netbsd1
plat-next3
plat-os2emx
plat-riscos Bug #649974: make docstrings for url2pathname consistent 2005-12-26 22:53:56 +00:00
plat-sunos5
plat-unixware7
site-packages
sqlite3 The sqlite3 module did cut off data from the SQLite database at the first null 2006-07-02 17:48:30 +00:00
test Patch #1520294: Support for getset and member descriptors in types.py, 2006-07-27 23:43:15 +00:00
wsgiref Sync w/external release 0.1.2. Please see PEP 360 before making changes to external packages. 2006-06-12 04:04:32 +00:00
xmlcore added XMLParser alias for cElementTree compatibility 2006-07-06 12:29:24 +00:00
__future__.py I could have sworn this was part of the change to not abbreviate ABSOLUTE 2006-04-03 06:58:51 +00:00
__phello__.foo.py
_LWPCookieJar.py Remove unused import. 2006-05-18 06:18:06 +00:00
_MozillaCookieJar.py Make use of new str.startswith/endswith semantics. 2006-06-09 20:43:48 +00:00
_strptime.py Change time.strptime() to raise ValueError whenever there is an error in the 2005-11-02 23:04:26 +00:00
_threading_local.py Finally figured out why this module did its imports at the 2006-04-18 03:28:32 +00:00
aifc.py Add a length check to aifc to ensure it doesn't write a bogus file 2006-05-30 00:26:01 +00:00
anydbm.py
asynchat.py [Patch #1002763] Allow long ints as terminator values; also, treat a terminator of 0 like the empty string or None 2005-06-09 14:59:45 +00:00
asyncore.py No need to import exceptions, they are builtins 2005-09-01 00:45:28 +00:00
atexit.py SF bug #1083202L UnboundLocalError raised by atexit module 2004-12-11 02:49:40 +00:00
audiodev.py
base64.py ("Forward-port" of r46506) 2006-05-28 19:13:17 +00:00
BaseHTTPServer.py Typo fix 2006-03-07 16:16:07 +00:00
Bastion.py
bdb.py Patch #721464: pdb.Pdb instances can now be given explicit stdin and 2006-05-10 17:13:20 +00:00
binhex.py Patch #1220874: Update the binhex module for Mach-O. 2006-07-15 16:53:15 +00:00
bisect.py
calendar.py Get rid of __context__, per the latest changes to PEP 343 and python-dev 2006-05-02 19:47:52 +00:00
cgi.py Reverted revision 1.83, which introduced a bug and subtle incompatibility 2005-09-19 09:11:04 +00:00
CGIHTTPServer.py SF patch #1055159 via Titus Brown: Document redirect limitation. 2004-12-22 14:19:09 +00:00
cgitb.py Merge ast-branch to head 2005-10-20 19:59:25 +00:00
chunk.py Patch #1373643: The chunk module can now read chunks larger than 2006-02-18 21:10:56 +00:00
cmd.py
code.py
codecs.py Add a BufferedIncrementalEncoder class that can be used for implementing 2006-04-14 18:25:39 +00:00
codeop.py Conversion of exceptions over from faked-up classes to new-style C types. 2006-05-27 12:29:24 +00:00
colorsys.py r879@spiff: Fredrik | 2005-11-12 14:38:03 +0100 2005-11-12 15:21:05 +00:00
commands.py
compileall.py Bugs item #1069409 C:\Python24\Lib\compileall.py returns False 2004-12-20 00:29:29 +00:00
ConfigParser.py Fix all wrong instances of "it's". 2005-07-22 21:49:32 +00:00
contextlib.py Finish bringing SVN into line with latest version of PEP 343 by getting rid of all remaining references to context objects that I could find. Without a __context__() method context objects no longer exist. Also get test_with working again, and adopt a suggestion from Neal for decimal.Context.get_manager() 2006-05-03 13:02:47 +00:00
Cookie.py Correct test suite for #848017. 2005-08-25 07:32:42 +00:00
cookielib.py Little cleanup 2006-05-18 06:51:46 +00:00
copy.py Whitespace normalization. 2006-02-26 04:21:50 +00:00
copy_reg.py Patch #1462313, bug #1443328: the pickle modules now can handle classes 2006-03-31 18:25:44 +00:00
cProfile.py Added the cProfile module. 2006-02-08 12:53:56 +00:00
csv.py Fix a delimiter detection problem in sniffer. Sniffing "a|b|c\r\n" was 2005-12-30 05:09:48 +00:00
dbhash.py
decimal.py Revert r50706 (Whitespace normalization) and 2006-07-19 17:18:32 +00:00
difflib.py Repaired typo in new comment. 2006-06-14 04:13:00 +00:00
dircache.py
dis.py
doctest.py Remove unused import 2006-06-12 03:05:03 +00:00
DocXMLRPCServer.py [Bug #1473048] 2006-05-31 14:08:48 +00:00
dumbdbm.py [Bug #1172763] dumbdbm uses eval() on lines, so it chokes if there's an extra \r on the end of a line; fixed by stripping off trailing whitespace. 2005-06-07 19:36:10 +00:00
dummy_thread.py fix exception usage 2006-06-13 17:14:36 +00:00
dummy_threading.py
filecmp.py Removed deprecated use_statcache argument. 2004-12-05 01:58:09 +00:00
fileinput.py Whitespace normalization. 2006-02-19 21:26:07 +00:00
fnmatch.py
formatter.py remove the other half of one of the regsub-related comments; the other 2004-12-07 14:08:24 +00:00
fpformat.py
ftplib.py SF bug #1168983: ftplib.py string index out of range 2005-04-05 04:31:09 +00:00
functools.py Add functools.update_wrapper() and functools.wraps() as described in PEP 356 2006-06-08 13:54:49 +00:00
getopt.py
getpass.py Bug #1445068: getpass.getpass() can now be given an explicit stream 2006-03-31 18:42:16 +00:00
gettext.py Patch #1349274: gettext.install() now optionally installs additional 2006-02-19 13:26:36 +00:00
glob.py glob('anything*/') would fail because isdir is in os.path, not os. 2006-04-09 03:35:43 +00:00
gopherlib.py Changed the new deprecation warning to show the 2006-02-18 04:00:23 +00:00
gzip.py Apply revised patch for GzipFile.readline performance #1281707 2006-05-22 15:59:12 +00:00
hashlib.py Whitespace normalization (via reindent.py). 2005-08-26 15:20:46 +00:00
heapq.py Add key= argument to heapq.nsmallest() and heapq.nlargest(). 2004-12-02 08:59:14 +00:00
hmac.py [ sf.net patch # 1121611 ] 2005-08-21 18:45:59 +00:00
htmlentitydefs.py
htmllib.py clean up the API a little; exceptions are defined by this module 2004-09-09 02:24:13 +00:00
HTMLParser.py Reverting previous checkin. This breaks too much of HTMLParser to be applied 2005-09-01 06:25:34 +00:00
httplib.py Bug #978833: Really close underlying socket in _socketobject.close. 2006-07-26 12:12:56 +00:00
ihooks.py
imaplib.py updated __version__ 2005-08-31 10:50:03 +00:00
imghdr.py SF #75103: imghdr -- identify JPEGs in EXIF format 2005-01-07 08:15:41 +00:00
imputil.py Bug #1481530: allow "from os.path import ..." with imputil 2006-05-04 05:08:10 +00:00
inspect.py Patch #1520294: Support for getset and member descriptors in types.py, 2006-07-27 23:43:15 +00:00
keyword.py Regenerate. 2006-02-28 22:50:17 +00:00
linecache.py Linecache contains support for PEP302 loaders, but fails to deal with loaders 2006-06-13 11:19:56 +00:00
locale.py Whitespace normalization. 2006-05-18 02:06:40 +00:00
macpath.py Bug #1266283: lexists() is not exported from os.path 2005-08-22 18:02:59 +00:00
macurl2path.py Bug #649974: make docstrings for url2pathname consistent 2005-12-26 22:53:56 +00:00
mailbox.py Get mailbox module working on OS/2 EMX port. 2006-07-23 13:04:00 +00:00
mailcap.py
markupbase.py Normalized a few cases of whitespace in function declarations. 2006-06-06 12:46:55 +00:00
md5.py [ sf.net patch # 1121611 ] 2005-08-21 18:45:59 +00:00
mhlib.py Replace list of constants with tuples of constants. 2005-02-06 06:57:08 +00:00
mimetools.py Bug #1250170, Patch #1462230: handle socket.gethostname() 2006-03-31 17:18:06 +00:00
mimetypes.py Bug #1202018: add some common mime.types locations. 2006-06-14 08:42:11 +00:00
MimeWriter.py
mimify.py
modulefinder.py
multifile.py
mutex.py
netrc.py
new.py
nntplib.py - Bug #1015140: disambiguated the term "article id" in nntplib docs and 2005-07-17 20:27:41 +00:00
ntpath.py SF bug #1473760 TempFile can hang on Windows. 2006-04-21 21:18:10 +00:00
nturl2path.py Bug #649974: make docstrings for url2pathname consistent 2005-12-26 22:53:56 +00:00
opcode.py PEP 343 -- the with-statement. 2006-02-27 22:32:47 +00:00
optparse.py Resync optparse with Optik 1.5.3: minor tweaks for/to tests. 2006-07-23 16:05:51 +00:00
os.py Patch #1410998: remove "DOS" from os.py docstring 2006-01-20 21:36:02 +00:00
os2emxpath.py Bug #1266283: lexists() is not exported from os.path 2005-08-22 18:02:59 +00:00
pdb.doc
pdb.py Whitespace normalization. 2006-07-27 15:11:00 +00:00
pickle.py Revert previous checkin. 2005-02-07 15:28:45 +00:00
pickletools.py An instance of class PicklingError was used here simply as an example of 2005-02-15 16:22:34 +00:00
pipes.py
pkgutil.py Whitespace normalization. 2006-07-26 23:23:15 +00:00
platform.py Teach platform about darwin/x86 2006-04-17 13:37:15 +00:00
popen2.py Fix check for empty list (vs. None). 2006-07-21 17:36:31 +00:00
poplib.py In stdlib, use hashlib instead of deprecated md5 and sha modules. 2006-04-30 08:57:35 +00:00
posixfile.py Add support for FreeBSD 7. 2005-07-17 02:36:59 +00:00
posixpath.py Bug #1266283: lexists() is not exported from os.path 2005-08-22 18:02:59 +00:00
pprint.py pprint functions used to sort a dict (by key) if and only if 2006-06-02 23:22:51 +00:00
profile.py test and fix for buggy handling of exceptions raised by C functions, 2005-09-20 18:50:13 +00:00
pstats.py Fix errors found by pychecker. 2006-06-11 07:27:56 +00:00
pty.py
py_compile.py Patch #1171150: add a newline to py_compile error output 2005-06-10 17:15:18 +00:00
pyclbr.py Fix #1494787 (pyclbr counts whitespace as superclass name) 2006-05-29 14:39:00 +00:00
pydoc.py Patch #1520294: Support for getset and member descriptors in types.py, 2006-07-27 23:43:15 +00:00
Queue.py document the class, not its initializer 2006-06-10 14:09:11 +00:00
quopri.py
random.py shuffle() doscstring: Removed warning about sequence length 2006-06-10 22:51:45 +00:00
re.py Rename sre.py -> re.py 2006-03-16 06:30:02 +00:00
repr.py
rexec.py Remove regsub, reconvert, regex, regex_syntax and everything under lib-old. 2006-03-16 06:50:13 +00:00
rfc822.py Port forward from 2.4 branch: 2006-05-01 03:03:02 +00:00
rlcompleter.py Patch #1472854: make the rlcompleter.Completer class usable on non- 2006-04-30 18:14:54 +00:00
robotparser.py
runpy.py Revert the __module_name__ changes made in rev 47142. We'll revisit this in Python 2.6 2006-07-06 12:53:04 +00:00
sched.py Refactor: 2004-12-17 13:52:20 +00:00
sets.py Teach the sets module to correctly compute s-=s and s^=s as the empty set. 2005-08-13 02:29:58 +00:00
sgmllib.py SF bug #1504333: sgmlib should allow angle brackets in quoted values 2006-06-29 00:51:53 +00:00
sha.py [ sf.net patch # 1121611 ] 2005-08-21 18:45:59 +00:00
shelve.py Bug #1339007: Shelf objects now don't raise an exception in their 2006-06-14 06:08:31 +00:00
shlex.py
shutil.py Bug #1472949: stringify IOErrors in shutil.copytree when appending 2006-04-28 16:54:25 +00:00
SimpleHTTPServer.py Whitespace normalization. 2006-06-14 22:38:13 +00:00
SimpleXMLRPCServer.py Whitespace normalization. 2006-06-01 13:41:46 +00:00
site.py Fix site module docstring to match the code for Mac OSX, too 2006-06-12 08:23:02 +00:00
smtpd.py Fix for SF bug # 1010102. The default is PureProxy not SMTPProxy. 2004-10-09 21:44:13 +00:00
smtplib.py Normalized a few cases of whitespace in function declarations. 2006-06-06 12:46:55 +00:00
sndhdr.py
socket.py Bug #978833: Really close underlying socket in _socketobject.close. 2006-07-26 12:12:56 +00:00
SocketServer.py bug [ 957505 ] SocketServer module documentation misleading 2005-07-18 07:38:44 +00:00
sre.py Spel compatibility write. 2006-03-16 06:33:21 +00:00
sre_compile.py [Bug #1177831] Fix generation of code for GROUPREF_EXISTS. Thanks to Andre Malo for the fix. 2005-06-02 13:35:52 +00:00
sre_constants.py
sre_parse.py Bug #1202493: Fixing SRE parser to handle '{}' as perl does, rather than 2005-09-14 08:54:39 +00:00
stat.py
statvfs.py
string.py Fix bug in passing tuples to string.Template. All other values (with working 2006-07-05 11:03:49 +00:00
StringIO.py SF patch #1359365: file and cStringIO raise a ValueError when next() is called 2006-03-15 08:23:53 +00:00
stringold.py Remove outdated references to the regsub module. 2004-12-07 07:55:07 +00:00
stringprep.py Avoid forward-declaring the methods array. 2006-03-10 11:20:04 +00:00
struct.py Fixes in struct and socket from merge reviews. 2006-06-04 13:49:49 +00:00
subprocess.py Guard for _active being None in __del__ method. 2006-07-20 16:28:39 +00:00
sunau.py
sunaudio.py
symbol.py PEP 343 -- the with-statement. 2006-02-27 22:32:47 +00:00
symtable.py Get symtable to limp along, can run compiler/symbols.py. Not saying much, needs more work. 2005-11-25 03:14:00 +00:00
tabnanny.py
tarfile.py Part of SF patch #1484695. This removes dead code. The chksum was 2006-07-10 00:23:17 +00:00
telnetlib.py Patch #825417: Fix timeout processing in expect, 2006-07-03 13:01:35 +00:00
tempfile.py Param name is dir, not directory. Update docstring. Backport candidate 2006-06-16 04:31:06 +00:00
textwrap.py Whitespace normalization. 2006-06-11 19:42:51 +00:00
this.py
threading.py Patch #1454481: Make thread stack size runtime tunable. 2006-06-13 15:04:24 +00:00
timeit.py
toaiff.py
token.py
tokenize.py Insert a safety space after numbers as well as names in untokenize(). 2006-03-30 21:43:35 +00:00
trace.py Make use of new str.startswith/endswith semantics. 2006-06-09 20:43:48 +00:00
traceback.py Whitespace normalization. 2006-07-24 21:02:15 +00:00
tty.py
types.py Patch #1520294: Support for getset and member descriptors in types.py, 2006-07-27 23:43:15 +00:00
unittest.py Patch #1388073: Make unittest.TestCase easier to subclass 2006-01-20 17:55:00 +00:00
urllib.py Bug #1459963: properly capitalize HTTP header names. 2006-07-26 07:40:17 +00:00
urllib2.py Bug #1459963: properly capitalize HTTP header names. 2006-07-26 07:40:17 +00:00
urlparse.py Patch #624325: urlparse.urlparse() and urlparse.urlsplit() results 2006-04-01 22:14:43 +00:00
user.py
UserDict.py - Patch 1433928: 2006-02-25 22:38:04 +00:00
UserList.py
UserString.py Cleanup: Remove import of types to get StringTypes, we can just use basestring. 2006-06-12 02:07:24 +00:00
uu.py minor error in uudecode main error handling 2006-04-07 05:39:17 +00:00
uuid.py Make uuid test suite pass on this box by requesting output with LC_ALL=C. 2006-07-27 16:08:15 +00:00
warnings.py Ignore ImportWarning by default 2006-07-06 13:35:27 +00:00
wave.py
weakref.py SF #1479988: add methods to allow access to weakrefs for the 2006-05-02 06:53:59 +00:00
webbrowser.py Make use of new str.startswith/endswith semantics. 2006-06-09 20:43:48 +00:00
whichdb.py Replace list of constants with tuples of constants. 2005-02-06 06:57:08 +00:00
wsgiref.egg-info Sync w/external release 0.1.2. Please see PEP 360 before making changes to external packages. 2006-06-12 04:04:32 +00:00
xdrlib.py Make xdrlib use floor division instead of classic division. 2006-03-28 10:07:46 +00:00
xml.py move the xml package implementation to xmlcore, and adjust the tests to 2005-12-14 06:20:35 +00:00
xmllib.py
xmlrpclib.py [Bug #1164912] Ensure Datetime wrapper class .value attribute is an 8-bit string, not a Unicode string 2005-12-04 19:11:17 +00:00
zipfile.py Whitespace normalization. 2006-06-15 18:06:29 +00:00