cpython/Lib
Thomas Heller fbb9c0bf3c Issue #1798: Add ctypes calling convention that allows safe access of errno.
ctypes maintains thread-local storage that has space for two error
numbers: private copies of the system 'errno' value and, on Windows,
the system error code accessed by the GetLastError() and
SetLastError() api functions.

Foreign functions created with CDLL(..., use_errno=True), when called,
swap the system 'errno' value with the private copy just before the
actual function call, and swapped again immediately afterwards.  The
'use_errno' parameter defaults to False, in this case 'ctypes_errno'
is not touched.

On Windows, foreign functions created with CDLL(...,
use_last_error=True) or WinDLL(..., use_last_error=True) swap the
system LastError value with the ctypes private copy.

The values are also swapped immeditately before and after ctypes
callback functions are called, if the callbacks are constructed using
the new optional use_errno parameter set to True: CFUNCTYPE(...,
use_errno=TRUE) or WINFUNCTYPE(..., use_errno=True).

New ctypes functions are provided to access the ctypes private copies
from Python:

- ctypes.set_errno(value) and ctypes.set_last_error(value) store
  'value' in the private copy and returns the previous value.

- ctypes.get_errno() and ctypes.get_last_error() returns the current
  ctypes private copies value.
2008-06-06 08:33:46 +00:00
..
bsddb Better integration between Python testing and bsddb3 2008-05-27 13:26:02 +00:00
compiler Deprecate the compiler package for removal in 3.0. 2008-05-10 02:58:26 +00:00
ctypes Issue #1798: Add ctypes calling convention that allows safe access of errno. 2008-06-06 08:33:46 +00:00
curses Use file descriptor for real stdout 2008-02-25 16:29:58 +00:00
distutils MacOS X: Enable 4-way universal builds 2008-06-05 12:58:24 +00:00
email Patch #2167 from calvin: Remove unused imports 2008-02-23 17:40:11 +00:00
encodings Fixed bug #1915: Python compiles with --enable-unicode=no again. However several extension methods and modules do not work without unicode support. 2008-01-23 14:20:50 +00:00
hotshot Added warning for the removal of 'hotshot' in Py3k. 2008-03-22 04:08:44 +00:00
idlelib ConfigParser renaming reversal part 3: move module into place and adapt imports. 2008-05-25 07:25:25 +00:00
json Replace more float hacks with correct math functions 2008-05-07 22:54:17 +00:00
lib-tk Patch #1513695: New turtle module, with demos. 2008-06-04 06:29:55 +00:00
lib2to3 Merged revisions 63634-63643 via svnmerge from 2008-05-25 17:19:22 +00:00
logging ConfigParser renaming reversal part 3: move module into place and adapt imports. 2008-05-25 07:25:25 +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-freebsd4
plat-freebsd5
plat-freebsd6 - Add support for FreeBSD 8 which is recently forked from FreeBSD 7. 2007-10-28 11:19:02 +00:00
plat-freebsd7 - Add support for FreeBSD 8 which is recently forked from FreeBSD 7. 2007-10-28 11:19:02 +00:00
plat-freebsd8 - Add support for FreeBSD 8 which is recently forked from FreeBSD 7. 2007-10-28 11:19:02 +00:00
plat-generic
plat-irix5 Deprecate WAIT for removal in 3.0. 2008-05-15 04:17:35 +00:00
plat-irix6 Deprecate WAIT for removal in 3.0. 2008-05-15 04:17:35 +00:00
plat-linux2
plat-mac Add warnings to and deprecated all those Mac modules 2008-05-12 21:42:13 +00:00
plat-netbsd1
plat-next3
plat-os2emx #2503 make singletons compared with "is" not == or != 2008-03-29 15:24:25 +00:00
plat-riscos Patch #2167 from calvin: Remove unused imports 2008-02-23 17:40:11 +00:00
plat-sunos5 Deprecate sunaudiodev/SUNAUDIODEV for removal in 3.0. 2008-05-16 00:10:24 +00:00
plat-unixware7
site-packages
sqlite3 Fixed rowcount for SELECT statements. They're -1 now (again), for better DB-API 2.0 compliance. 2008-05-31 21:33:27 +00:00
test MacOS X: Enable 4-way universal builds 2008-06-05 12:58:24 +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
xml Issue #1390: Raise ValueError in toxml when an invalid comment would 2008-05-23 15:18:28 +00:00
__future__.py Patch #2477: Added from __future__ import unicode_literals 2008-03-26 22:01:37 +00:00
__phello__.foo.py
_abcoll.py Issue 2226: Callable checked for the wrong abstract method. 2008-03-03 22:19:58 +00:00
_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 add %f format to datetime - issue 1158 2008-03-15 16:04:45 +00:00
_threading_local.py Finally figured out why this module did its imports at the 2006-04-18 03:28:32 +00:00
abc.py Make isinstance(OldstyleClass, NewstyleClass) return False instead of raising 2008-03-17 16:31:21 +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
asyncore.py
atexit.py Bug #1597824: return the registered function from atexit.register() 2006-11-16 16:50:59 +00:00
audiodev.py Deprecate the audiodev module for 3.0. 2008-05-06 23:23:34 +00:00
base64.py Clarify docstring 2006-10-27 17:06:16 +00:00
BaseHTTPServer.py socketserver renaming reversal part 3: move the module into the right 2008-05-24 18:31:28 +00:00
Bastion.py Deprecate Bastion and rexec for 3.0. 2008-05-10 02:27:04 +00:00
bdb.py Revert the renaming of repr to reprlib. 2008-05-23 05:03:59 +00:00
binhex.py Remove the macfs module. This led to the deprecation of macostools.touched(); 2007-05-20 23:17:38 +00:00
bisect.py SF 1602378 Clarify docstrings for bisect 2007-04-03 00:02:11 +00:00
calendar.py Remove some from __future__ import with_statements 2008-04-30 21:25:55 +00:00
cgi.py Patch #1541463: optimize performance of cgi.FieldStorage operations. 2007-09-20 16:06:07 +00:00
CGIHTTPServer.py Patch #1481079: Support of HTTP_REFERER in CGIHTTPServer.py 2007-03-09 03:15:56 +00:00
cgitb.py HTML-escape the plain traceback in cgitb's HTML output, to prevent 2007-05-15 20:19:34 +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 Merged revisions 61750,61752,61754,61756,61760,61763,61768,61772,61775,61805,61809,61812,61819,61917,61920,61930,61933-61934 via svnmerge from 2008-03-26 12:49:49 +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
collections.py Issue 2903: Add __name__ in globals for namedtuple namespace. 2008-05-30 07:16:53 +00:00
colorsys.py A very minor bug fix: this code looks like it is designed to accept 2006-10-06 16:33:22 +00:00
commands.py take Brett's advice on a few warnings 2008-05-26 20:41:45 +00:00
compileall.py fix typo 2008-03-04 21:14:04 +00:00
ConfigParser.py ConfigParser renaming reversal part 3: move module into place and adapt imports. 2008-05-25 07:25:25 +00:00
contextlib.py #1748: use functools.wraps instead of rolling own metadata update. 2008-04-30 21:08:42 +00:00
Cookie.py Whitespace normalization. 2006-08-15 00:25:04 +00:00
cookielib.py Whitespace normalization. 2007-01-30 03:03:46 +00:00
copy.py Revert the renaming of repr to reprlib. 2008-05-23 05:03:59 +00:00
copy_reg.py Revert copy_reg -> copyreg rename. 2008-05-20 07:49:57 +00:00
cProfile.py Added the cProfile module. 2006-02-08 12:53:56 +00:00
csv.py Issue #2432: give DictReader the dialect and line_num attributes 2008-03-21 20:01:51 +00:00
dbhash.py
decimal.py Make sure that Context traps and flags dictionaries have values 0 and 1 2008-05-04 02:25:46 +00:00
difflib.py Improve usability of the SequenceMatcher by returning named tuples describing match ranges. 2008-01-11 03:20:54 +00:00
dircache.py Deprecate the dircache module for 3.0. 2008-05-10 21:12:57 +00:00
dis.py
doctest.py #2767: don't clear globs in run() call, since they could be needed in tearDown, 2008-05-12 17:04:10 +00:00
DocXMLRPCServer.py Update PEP URL. 2008-02-05 16:06:57 +00:00
dumbdbm.py Whitespace normalization. 2007-01-30 03:03:46 +00:00
dummy_thread.py Remove specific mention of my name and email address from modules. Not really 2007-01-25 23:30:39 +00:00
dummy_threading.py Remove specific mention of my name and email address from modules. Not really 2007-01-25 23:30:39 +00:00
filecmp.py
fileinput.py Whitespace normalization. 2006-02-19 21:26:07 +00:00
fnmatch.py
formatter.py #1726198: replace while 1: fp.readline() with file iteration. 2008-01-21 17:22:06 +00:00
fpformat.py Deprecate the fpformat module for removal in 3.0. 2008-05-10 22:11:45 +00:00
fractions.py The __all__ variable forgot to expose the gcd() function. 2008-05-08 04:36:12 +00:00
ftplib.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
functools.py Patch # 1739906 by Christian Heimes -- add reduce to functools (importing 2007-08-27 20:51:00 +00:00
genericpath.py Small speedup. 2007-05-14 20:52:31 +00:00
getopt.py
getpass.py Major improvements: 2008-04-22 08:08:41 +00:00
gettext.py Patch #1349274: gettext.install() now optionally installs additional 2006-02-19 13:26:36 +00:00
glob.py Fix for glob.py if filesystem encoding is None. 2007-03-20 23:05:14 +00:00
gzip.py #2959: allow multiple close() calls for GzipFile. 2008-05-25 08:07:37 +00:00
hashlib.py Mention that crc32 and adler32 are available in a different module (zlib). 2008-03-19 01:38:35 +00:00
heapq.py Implement heapq in terms of less-than (to match list.sort()). 2008-05-31 03:24:31 +00:00
hmac.py Fixes Issue 1385: The hmac module now computes the correct hmac when using 2007-11-06 00:19:03 +00:00
htmlentitydefs.py revert creation of the html.entities and html.parser modules 2008-05-20 06:08:38 +00:00
htmllib.py Deprecate htmllib and sgmllib for 3.0. 2008-06-01 21:19:14 +00:00
HTMLParser.py revert creation of the html.entities and html.parser modules 2008-05-20 06:08:38 +00:00
httplib.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
ihooks.py Deprecate ihooks for removal in 3.0. 2008-05-10 22:45:07 +00:00
imaplib.py #1389051: IMAP module tries to read entire message in one chunk. Patch by Fredrik Lundh. 2008-02-23 19:02:33 +00:00
imghdr.py
imputil.py Deprecate the imputil module for removal in 3.0. 2008-05-08 18:15:14 +00:00
inspect.py Prevent an error when inspect.isabstract() is called with something else than a new-style class. 2008-04-08 21:51:57 +00:00
io.py Cleaned up io._BytesIO.write(). 2008-05-10 19:59:16 +00:00
keyword.py #1726198: replace while 1: fp.readline() with file iteration. 2008-01-21 17:22:06 +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 Update the locale module alias table. 2008-05-30 20:52:18 +00:00
macpath.py Add Py3k warnings to os.path.walk 2008-05-09 00:27:01 +00:00
macurl2path.py
mailbox.py Bug 1277: make Maildir use the user-provided factory instead of hard-wiring MaildirMessage. 2008-01-19 20:12:04 +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 email address update 2007-09-09 20:25:00 +00:00
mhlib.py Deprecated the mhlib module for removal in 3.0. 2008-05-11 03:01:47 +00:00
mimetools.py Bug #1250170, Patch #1462230: handle socket.gethostname() 2006-03-31 17:18:06 +00:00
mimetypes.py Patch 1353 by Jacob Winther. 2007-10-29 20:52:45 +00:00
MimeWriter.py Have MimeWriter raise a DeprecationWarning as per PEP 4 and its documentation. 2007-05-30 20:46:26 +00:00
mimify.py Have mimify raise a DeprecationWarning. The docs and PEP 4 have listed the 2007-05-30 21:48:58 +00:00
modulefinder.py Replaced import of the 'new' module with 'types' module and added a deprecation warning to the 'new' module. 2007-11-27 21:34:01 +00:00
multifile.py Deprecate the multifile module as per PEP 4. 2008-05-12 03:19:20 +00:00
mutex.py The mutex module has been deprecated for removal in 3.0. 2008-05-08 19:26:08 +00:00
netrc.py
new.py Deprecate the new module for removal in 3.0. 2008-05-09 05:18:40 +00:00
nntplib.py
ntpath.py Add Py3k warnings to os.path.walk 2008-05-09 00:27:01 +00:00
nturl2path.py
numbers.py Zap one more use of Exact/Inexact. 2008-03-15 20:37:50 +00:00
opcode.py Give meaning to the oparg for BUILD_MAP: estimated size of the dictionary. 2007-12-18 21:24:09 +00:00
optparse.py Change isbasestring function as discussed on the cvs list a while ago 2008-01-27 19:01:45 +00:00
os.py Revert copy_reg -> copyreg rename. 2008-05-20 07:49:57 +00:00
os2emxpath.py - Move functions common to all path modules into genericpath.py and have the 2006-08-26 18:42:06 +00:00
pdb.doc Add some sentence endings. 2008-05-11 14:17:13 +00:00
pdb.py Revert the renaming of repr to reprlib. 2008-05-23 05:03:59 +00:00
pickle.py Revert copy_reg -> copyreg rename. 2008-05-20 07:49:57 +00:00
pickletools.py Revert copy_reg -> copyreg rename. 2008-05-20 07:49:57 +00:00
pipes.py Patch #1680959: add test suite for pipes module. 2007-08-30 10:38:56 +00:00
pkgutil.py Issue 2439: add pkgutils.get_data() as a convenience wrapper for the PEP 302 get_data() API (contributed by Paul Moore) 2008-04-15 10:25:31 +00:00
platform.py - Add unittests for platform.mac_ver (or rather, ensure that the unittest for 2008-05-18 20:54:47 +00:00
plistlib.py Add warnings to and deprecated all those Mac modules 2008-05-12 21:42:13 +00:00
popen2.py Use os.closerange() in popen2. 2008-02-23 22:09:24 +00:00
poplib.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
posixfile.py Enable platform-specific tweaks for FreeBSD 8 (exactly same to FreeBSD 7's yet) 2007-10-28 12:38:09 +00:00
posixpath.py Add Py3k warnings to os.path.walk 2008-05-09 00:27:01 +00:00
pprint.py #1713041: fix pprint's handling of maximum depth. 2008-05-12 16:26:52 +00:00
profile.py
pstats.py #1269: fix a bug in pstats.add_callers() and add a unit test file for pstats. 2008-01-21 10:24:59 +00:00
pty.py Whitespace normalization. 2007-01-30 03:03:46 +00:00
py_compile.py #2225: return nonzero status code from py_compile if not all files could be compiled. 2008-03-06 07:41:16 +00:00
pyclbr.py Minor cleanups: 2008-04-28 02:57:23 +00:00
pydoc.py Generate pydoc's topic help from the reST docs via Sphinx' 2008-06-01 20:33:55 +00:00
pydoc_topics.py Generate pydoc's topic help from the reST docs via Sphinx' 2008-06-01 20:33:55 +00:00
Queue.py Queue renaming reversal part 3: move module into place and 2008-05-25 07:20:14 +00:00
quopri.py
random.py Adopt Nick's suggestion for useful default arguments. 2008-03-23 19:37:53 +00:00
re.py Revert copy_reg -> copyreg rename. 2008-05-20 07:49:57 +00:00
repr.py Revert the renaming of repr to reprlib. 2008-05-23 05:03:59 +00:00
rexec.py Deprecate Bastion and rexec for 3.0. 2008-05-10 02:27:04 +00:00
rfc822.py Bug #1249573: fix rfc822.parsedate not accepting a certain date format 2007-01-22 21:10:33 +00:00
rlcompleter.py - #2250: Exceptions raised during evaluation of names in rlcompleter's 2008-05-11 21:03:42 +00:00
robotparser.py Get rid of _test(), _main(), _debug() and _check(). Tests are no longer 2008-04-28 03:27:53 +00:00
runpy.py Try to make command line error messages from runpy easier to understand (and suppress traceback cruft from the implicitly invoked runpy machinery) 2008-02-22 10:54:06 +00:00
sched.py #2803: fix wrong invocation of heappush in seldom-reached code. 2008-05-11 15:20:16 +00:00
sets.py Deprecate the sets module. 2007-01-13 00:29:49 +00:00
sgmllib.py Deprecate htmllib and sgmllib for 3.0. 2008-06-01 21:19:14 +00:00
sha.py email address update 2007-09-09 20:25:00 +00:00
shelve.py Revert part of r60927 which made invalid assumptions about the API offered by db modules. 2008-02-25 23:17:41 +00:00
shlex.py Fix parameter passing. 2007-05-24 17:33:33 +00:00
shutil.py Issue 1577: shutil.move() where destination is a directory was doing a 2008-03-18 17:24:12 +00:00
SimpleHTTPServer.py #2169: make generated HTML more valid 2008-02-28 14:03:03 +00:00
SimpleXMLRPCServer.py socketserver renaming reversal part 3: move the module into the right 2008-05-24 18:31:28 +00:00
site.py Docstring typo 2008-05-10 17:36:24 +00:00
smtpd.py Issue 1307 by Derek Shockey, fox the same bug for RCPT. 2007-10-23 19:25:41 +00:00
smtplib.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
sndhdr.py
socket.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
SocketServer.py socketserver renaming reversal part 3: move the module into the right 2008-05-24 18:31:28 +00:00
sre.py Bug #1675967: re patterns pickled with older Python versions can 2007-03-21 20:07:56 +00:00
sre_compile.py Issue2564: Prevent a hang in "import test.autotest", which runs the entire test 2008-04-08 21:27:42 +00:00
sre_constants.py
sre_parse.py remove some __getslice__ 2008-05-27 01:18:39 +00:00
ssl.py Patch #2167 from calvin: Remove unused imports 2008-02-23 17:40:11 +00:00
stat.py #2383: remove obsolete XXX comment in stat.py. 2008-03-20 07:25:55 +00:00
statvfs.py Deprecated statvfs for removal in 3.0. 2008-05-16 00:50:02 +00:00
string.py Backport of PEP 3101, Advanced String Formatting, from py3k. 2008-02-17 19:46:49 +00:00
StringIO.py [Bug #1622533] Make docstrings raw strings because they contain control characters (\0, \1) 2007-01-05 14:22:17 +00:00
stringold.py Deprecate stringold for removal in 3.0. 2008-05-08 19:52:45 +00:00
stringprep.py Avoid forward-declaring the methods array. 2006-03-10 11:20:04 +00:00
struct.py Added _struct._clearcache() for regression tests 2008-01-04 02:54:42 +00:00
subprocess.py Fixes issue2791: subprocess.Popen.communicate leaked a file descripton until 2008-05-26 20:22:14 +00:00
sunau.py
sunaudio.py
symbol.py Patch #1759: Backport of PEP 3129 class decorators 2008-02-23 15:01:05 +00:00
symtable.py
tabnanny.py Make tabnanny recognize IndentationErrors raised by tokenize. 2006-08-14 21:34:08 +00:00
tarfile.py Do not close external file objects passed to tarfile.open(mode='w:bz2') 2008-05-27 12:39:23 +00:00
telnetlib.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
tempfile.py Remove references to platform 'mac' 2008-05-12 11:24:33 +00:00
textwrap.py #2659: add `break_on_hyphens` to TextWrapper. 2008-05-11 10:42:28 +00:00
this.py
threading.py Adds a Thread.getIdent() method to provide the _get_ident() value for 2008-06-01 23:48:47 +00:00
timeit.py Whitespace normalization. Ugh, we really need to do this more often. 2007-04-25 06:30:05 +00:00
toaiff.py Deprecate the toaiff module for removal in 3.0. 2008-05-09 05:32:42 +00:00
token.py Issue 2117. Update compiler module to handle class decorators. 2008-02-25 18:06:00 +00:00
tokenize.py revert 63965 for preformance reasons 2008-06-05 23:02:33 +00:00
trace.py Add a timing flag to Trace so you can see where slowness occurs 2008-02-26 08:21:28 +00:00
traceback.py Fix a bug in traceback.format_exception_only() that led to an error 2006-09-24 12:50:24 +00:00
tty.py
types.py Issue 2408: remove the _types module 2008-04-08 22:07:05 +00:00
unittest.py #2787: Flush stdout after writing test name, helpful when running 2008-05-11 15:17:41 +00:00
urllib.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
urllib2.py Fixed the semantic of timeout for socket.create_connection and 2008-05-29 16:39:26 +00:00
urlparse.py #1726198: replace while 1: fp.readline() with file iteration. 2008-01-21 17:22:06 +00:00
user.py Deprecate the user module for removal in 3.0. 2008-05-08 20:36:09 +00:00
UserDict.py Update more instances of has_key(). 2008-02-21 19:24:53 +00:00
UserList.py No need to register classes that already inherit from ABCs. 2008-02-11 18:51:08 +00:00
UserString.py UserString.MutableString has been removed in Python 3.0. 2008-05-29 05:08:50 +00:00
uu.py Jython compatibility fix: if uu.decode() opened its output file, be sure to 2006-11-20 13:39:37 +00:00
uuid.py uuid creation is now threadsafe, backport from py3k rev. 57375. 2007-08-24 06:10:01 +00:00
warnings.py Practice EAFP, and revert 62787 2008-05-07 23:11:54 +00:00
wave.py Patch #1681153: the wave module now closes a file object it opened if 2007-03-15 07:41:30 +00:00
weakref.py Fixed URL of PEP 205 in weakref's module docstring. 2008-04-27 00:52:24 +00:00
webbrowser.py Fix a few webbrowser.py problems. 2007-07-01 08:11:35 +00:00
whichdb.py
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 Move xdrlib tests from the module into a separate test script, 2006-12-01 16:59:47 +00:00
xmllib.py
xmlrpclib.py #2985: allow i8 in XMLRPC responses. 2008-05-29 07:45:26 +00:00
zipfile.py Patch #1775025: allow opening zipfile members via ZipInfo instances. 2008-05-20 08:25:48 +00:00