Commit graph

13400 commits

Author SHA1 Message Date
Facundo Batista
6a5a177cba Finished bug #2451. Fixed the retrying part to make it
more robust.
2008-06-07 13:36:36 +00:00
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
Benjamin Peterson
8456f64ce2 revert 63965 for preformance reasons 2008-06-05 23:02:33 +00:00
Benjamin Peterson
30dc7b8ce2 use the more idomatic while True 2008-06-05 22:39:34 +00:00
Thomas Heller
2e75c450d2 Backport from py3k: Implement the new buffer interface from pep3118
for ctypes instances.  Closes issue #2404.
2008-06-05 17:51:15 +00:00
Ronald Oussoren
5640ce2f1e MacOS X: Enable 4-way universal builds
This patch adds a new configure argument on OSX:
        --with-universal-archs=[32-bit|64-bit|all]

When used with the --enable-universalsdk option this controls which
CPU architectures are includes in the framework. The default is 32-bit,
meaning i386 and ppc. The most useful alternative is 'all', which includes
all 4 CPU architectures supported by MacOS X (i386, ppc, x86_64 and ppc64).

This includes limited support for the Carbon bindings in 64-bit mode as well,
limited because (a) I haven't done extensive testing and (b) a large portion
of the Carbon API's aren't available in 64-bit mode anyway.

I've also duplicated a feature of Apple's build of python: setting the
environment variable 'ARCHFLAGS' controls the '-arch' flags used for building
extensions using distutils.
2008-06-05 12:58:24 +00:00
Alexandre Vassalotti
80af6da748 Fixed complex.__getnewargs__() to not emit another complex object. 2008-06-04 20:41:44 +00:00
Thomas Heller
d5bb9215c9 Revert revisions 63943 and 63942 (Issue #1798: Add ctypes calling
convention that allows safe access to errno)

This code does not yet work on OS X (__thread storage specifier not
available), so i needs a configure check plus a more portable
solution.
2008-06-04 20:22:05 +00:00
Thomas Heller
e70c3378c0 Issue #1798: Add ctypes calling convention that allows safe access to
errno (and LastError, on Windows).

ctypes maintains a module-global, but thread-local, variable that
contains an error number; called 'ctypes_errno' for this discussion.
This variable is a private copy of the systems 'errno' value; the copy
is swapped with the 'errno' variable on several occasions.

Foreign functions created with CDLL(..., use_errno=True), when called,
swap the values 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.

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).

Two new ctypes functions are provided to access the 'ctypes_errno'
value from Python:

- ctypes.set_errno(value) sets ctypes_errno to 'value', the previous
  ctypes_errno value is returned.

- ctypes.get_errno() returns the current ctypes_errno value.

---

On Windows, the same scheme is implemented for the error value which
is managed by the GetLastError() and SetLastError() windows api calls.

The ctypes functions are 'ctypes.set_last_error(value)' and
'ctypes.get_last_error()', the CDLL and WinDLL optional parameter is
named 'use_last_error', defaults to False.

---

On Windows, TlsSetValue and TlsGetValue calls are used to provide
thread local storage for the variables; ctypes compiled with __GNUC__
uses __thread variables.
2008-06-04 18:59:03 +00:00
Martin v. Löwis
8718459f0f Patch #1513695: New turtle module, with demos. 2008-06-04 06:29:55 +00:00
Georg Brandl
4ed3ed13c5 Fix Tkinter sequence passing. #2906. 2008-06-03 10:23:15 +00:00
Benjamin Peterson
c5393c64b8 make test_mutex more elegant 2008-06-03 01:30:37 +00:00
Walter Dörwald
a2a89a8712 Change all functions that expect one unicode character to accept a pair of
surrogates in narrow builds. Fixes issue #1706460.
2008-06-02 20:36:03 +00:00
Thomas Heller
261b136321 Fix the -x flag so that is does work. 2008-06-02 20:07:46 +00:00
Gregory P. Smith
137d824148 Fix issue 2782: be less strict about the format string type in strftime.
Accept unicode and anything else ParseTuple "s#" can deal with.  This
matches the time.strftime behavior.
2008-06-02 04:05:52 +00:00
Gregory P. Smith
8856ddae25 Adds a Thread.getIdent() method to provide the _get_ident() value for
any given threading.Thread object.  feature request issue 2871.
2008-06-01 23:48:47 +00:00
Georg Brandl
ac19d85e04 Deprecate htmllib and sgmllib for 3.0. 2008-06-01 21:19:14 +00:00
Georg Brandl
681001e11b Generate pydoc's topic help from the reST docs via Sphinx'
new text writer.
2008-06-01 20:33:55 +00:00
Robert Schuppenies
9359afff56 Fix test_sys. 2008-06-01 17:11:09 +00:00
Georg Brandl
12f8107f91 Fix test_descrtut. 2008-06-01 17:05:56 +00:00
Georg Brandl
7a6de8b0f4 Some style nits. Also clarify in the docstrings what __sizeof__ does. 2008-06-01 16:42:16 +00:00
Robert Schuppenies
51df064767 Issue #2898: Added sys.getsizeof() to retrieve size of objects in bytes. 2008-06-01 16:16:17 +00:00
Martin v. Löwis
99815892f6 New environment variable PYTHONIOENCODING. 2008-06-01 07:20:46 +00:00
Gerhard Häring
7f7ca35f5b 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
Mark Hammond
5bd88333ee Fix bdist_wininst --user-access-control for win2k 2008-05-31 05:11:07 +00:00
Raymond Hettinger
6d7702ecd1 Implement heapq in terms of less-than (to match list.sort()). 2008-05-31 03:24:31 +00:00
Marc-André Lemburg
adff65bc3e Update the locale module alias table.
Closes #3011.
2008-05-30 20:52:18 +00:00
Raymond Hettinger
3c2523c2eb Issue 2903: Add __name__ in globals for namedtuple namespace. 2008-05-30 07:16:53 +00:00
Mark Dickinson
8df4e22a28 Fix typo in testSum 2008-05-30 02:46:53 +00:00
Thomas Heller
9287acf83d ctypes NULL function pointers have a boolean False value now. 2008-05-29 19:42:34 +00:00
Facundo Batista
4f1b1ed975 Fixed the semantic of timeout for socket.create_connection and
all the upper level libraries that use it, including urllib2.
Added and fixed some tests, and changed docs correspondingly.
Thanks to John J Lee for the patch and the pusing, :)
2008-05-29 16:39:26 +00:00
Georg Brandl
d0b592f8e8 #2985: allow i8 in XMLRPC responses. 2008-05-29 07:45:26 +00:00
Georg Brandl
7943a3295d #2906: accept lists for options, and some cosmetic fixes in Tkinter. 2008-05-29 07:18:49 +00:00
Brett Cannon
abb34fe9f3 UserString.MutableString has been removed in Python 3.0.
Works on issue #2877. Thanks Quentin Gallet-Gilles for the patch.
2008-05-29 05:08:50 +00:00
Mark Hammond
88eeef35d7 bdist_wininst now works correctly when both --skip-build and --plat-name are specified. 2008-05-28 01:54:55 +00:00
Jesus Cea
dbd2f6d8a9 Better integration between Python testing and bsddb3 2008-05-27 13:26:02 +00:00
Lars Gustäbel
b1a54a3530 Do not close external file objects passed to tarfile.open(mode='w:bz2')
when the TarFile is closed.
2008-05-27 12:39:23 +00:00
Benjamin Peterson
1d31023b31 Improvements for test_py3kwarn
- Always show warnings so they are always catchable
- Make test_os_path_walk faster by walking a less populous directory
2008-05-27 01:42:29 +00:00
Benjamin Peterson
838c7b3619 remove some __getslice__ 2008-05-27 01:18:39 +00:00
Benjamin Peterson
c1c83bb0de remove duplication in test module 2008-05-26 21:44:26 +00:00
Benjamin Peterson
9171bed69a take Brett's advice on a few warnings 2008-05-26 20:41:45 +00:00
Gregory P. Smith
4036fd4b75 Fixes issue2791: subprocess.Popen.communicate leaked a file descripton until
the last reference to the Popen instance was dropped.  Adding explicit
close() calls fixes it.

Candidate for backport to release25-maint.
2008-05-26 20:22:14 +00:00
Benjamin Peterson
3aa84a7f28 warn about some members of the commands module 2008-05-26 19:41:53 +00:00
Benjamin Peterson
eeb2b21ab0 add __all__ to test_support 2008-05-26 16:22:27 +00:00
Thomas Heller
b4701e638c On Windows, we must build a debug version iff running a debug build of
Python
2008-05-26 11:42:40 +00:00
Martin v. Löwis
bbaa2ebd17 Merged revisions 63634-63643 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
  r63643 | martin.v.loewis | 2008-05-25 19:18:21 +0200 (So, 25 Mai 2008) | 3 lines

  Don't abort on IOErrors caused by saving pickle files.
  Fixes #2938.
........
2008-05-25 17:19:22 +00:00
Martin v. Löwis
f2e23d039c Merged revisions 62647-63633 via svnmerge from
svn+ssh://pythondev@svn.python.org/sandbox/trunk/2to3/lib2to3

........
  r63047 | alexandre.vassalotti | 2008-05-11 11:03:24 +0200 (So, 11 Mai 2008) | 2 lines

  Added import fixer for copy_reg rename.
........
  r63081 | alexandre.vassalotti | 2008-05-11 22:06:36 +0200 (So, 11 Mai 2008) | 2 lines

  Added import fixer for Queue rename.
........
  r63090 | alexandre.vassalotti | 2008-05-11 22:38:16 +0200 (So, 11 Mai 2008) | 2 lines

  Added import fixer for PixMapWrapper rename.
........
  r63141 | alexandre.vassalotti | 2008-05-12 04:42:03 +0200 (Mo, 12 Mai 2008) | 5 lines

  Added fixer for SocketServer renaming.
  Removed PixMapWrapper fixer, since the module is actually pending
  removal.
........
  r63252 | alexandre.vassalotti | 2008-05-15 01:10:20 +0200 (Do, 15 Mai 2008) | 2 lines

  Added fixer for ConfigParser rename.
........
  r63321 | collin.winter | 2008-05-15 19:42:58 +0200 (Do, 15 Mai 2008) | 1 line

  Add a missing comma. Fixes issue 2866.
........
  r63356 | alexandre.vassalotti | 2008-05-16 08:55:44 +0200 (Fr, 16 Mai 2008) | 4 lines

  Added new tests for fix_imports.
  Added refactoring support of from-import statements of the style:
    from foo import bar, baz
........
  r63362 | alexandre.vassalotti | 2008-05-16 09:17:53 +0200 (Fr, 16 Mai 2008) | 2 lines

  Added the repr module import fixer.
........
  r63456 | georg.brandl | 2008-05-18 21:51:18 +0200 (So, 18 Mai 2008) | 2 lines

  #2908: fixers for Tkinter rename.
........
  r63461 | georg.brandl | 2008-05-18 23:00:20 +0200 (So, 18 Mai 2008) | 2 lines

  Fix for last patch.
........
  r63525 | alexandre.vassalotti | 2008-05-21 23:43:29 +0200 (Mi, 21 Mai 2008) | 4 lines

  Add missing comma in fix_imports.

  Bug caught by Quentin Gallet-Gilles.
........
  r63532 | brett.cannon | 2008-05-22 05:02:43 +0200 (Do, 22 Mai 2008) | 4 lines

  When testing fix_imports, no need to only test a subset of input; test it all!

  Do all revisions to the sandbox need to be manually applied to the trunk?
........
  r63533 | brett.cannon | 2008-05-22 05:16:45 +0200 (Do, 22 Mai 2008) | 1 line

  Add _markupbase to the import fixer.
........
  r63612 | georg.brandl | 2008-05-25 09:56:59 +0200 (So, 25 Mai 2008) | 2 lines

  Add fixer for _winreg rename.
........
  r63627 | georg.brandl | 2008-05-25 14:30:10 +0200 (So, 25 Mai 2008) | 2 lines

  Add fixer entry for the thread module.
........
  r63629 | georg.brandl | 2008-05-25 14:34:13 +0200 (So, 25 Mai 2008) | 2 lines

  Fixer entry for dummy_thread.
........
  r63633 | martin.v.loewis | 2008-05-25 16:52:41 +0200 (So, 25 Mai 2008) | 2 lines

  Temporarily disable Test_imports.
........
2008-05-25 14:58:01 +00:00
Gregory P. Smith
9e6468be1d Fix issue2669: bsddb simple/legacy interface iteration silently fails
when database changes size during iteration.

It now behaves like a dictionary, the next attempt to get a value from
the iterator after the database has changed size will raise a RuntimeError.
2008-05-25 08:28:29 +00:00
Georg Brandl
e08e3d0686 #2959: allow multiple close() calls for GzipFile. 2008-05-25 08:07:37 +00:00
Georg Brandl
392c6fc02d ConfigParser renaming reversal part 3: move module into place and adapt imports. 2008-05-25 07:25:25 +00:00