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
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
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
_MozillaCookieJar.py
_strptime.py add %f format to datetime - issue 1158 2008-03-15 16:04:45 +00:00
_threading_local.py
abc.py Make isinstance(OldstyleClass, NewstyleClass) return False instead of raising 2008-03-17 16:31:21 +00:00
aifc.py
anydbm.py
asynchat.py
asyncore.py
atexit.py
audiodev.py Deprecate the audiodev module for 3.0. 2008-05-06 23:23:34 +00:00
base64.py
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
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
collections.py Issue 2903: Add __name__ in globals for namedtuple namespace. 2008-05-30 07:16:53 +00:00
colorsys.py
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
cookielib.py
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
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
dummy_thread.py
dummy_threading.py
filecmp.py
fileinput.py
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
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
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
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
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
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
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
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
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
stringold.py Deprecate stringold for removal in 3.0. 2008-05-08 19:52:45 +00:00
stringprep.py
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
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
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
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
xdrlib.py
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