Commit Graph

4607 Commits

Author SHA1 Message Date
Thomas Heller 50a24d8bfd Include <alloca.h> on Solaris, see issue #1506.
It would probably be better to have a configure test for that, but
this is outside of my configure expertise.
2008-03-18 15:03:17 +00:00
Neal Norwitz f13572d6e4 Use a buffer large enough to ensure we don't overrun, even if the value
is outside the range we expect.
2008-03-17 19:02:45 +00:00
Gregory P. Smith f48f9d38c0 Force zlib.crc32 and zlib.adler32 to return a signed integer on all platforms
regardless of the native sizeof(long) used in the integer object.

This somewhat odd behavior of returning a signed is maintained in 2.x for
compatibility reasons of always returning an integer rather than a long object.

Fixes Issue1202 for Python 2.6
2008-03-17 18:48:05 +00:00
Skip Montanaro fc070d2731 add %f format to datetime - issue 1158 2008-03-15 16:04:45 +00:00
Thomas Heller 41e22ff5cc Remove unneeded initializer. 2008-03-14 21:06:21 +00:00
Raymond Hettinger 10d7603825 Leave heapreplace() unchanged. 2008-03-14 05:03:44 +00:00
Raymond Hettinger 53bdf09343 Issue 2274: Add heapq.heappushpop(). 2008-03-13 19:03:51 +00:00
Raymond Hettinger 431f029486 Consistent tense. 2008-03-13 16:43:59 +00:00
Raymond Hettinger 10f40a6b5a Add 2-to-3 support for the itertools moved to builtins or renamed. 2008-03-13 16:43:17 +00:00
Raymond Hettinger a1ca94a102 Issue 2246: itertools grouper object did not participate in GC (should be backported). 2008-03-06 22:51:36 +00:00
Raymond Hettinger 6e3e415886 Small code cleanup. 2008-03-05 21:04:32 +00:00
Raymond Hettinger 66f91ea966 C implementation of itertools.permutations(). 2008-03-05 20:59:58 +00:00
Thomas Heller f3c0559b5e Issue 1872: Changed the struct module typecode from 't' to '?', for
compatibility with PEP3118.
2008-03-05 15:34:29 +00:00
Raymond Hettinger f1cca2b593 Fix refleak in chain(). 2008-03-04 22:29:44 +00:00
Thomas Heller a23aede562 Try to fix the build for PY_LINUX. 2008-03-04 20:21:42 +00:00
Thomas Heller 8bdf81d2df Merged changes from libffi3-branch.
The bundled libffi copy is now in sync with the recently released
libffi3.0.4 version, apart from some small changes to
Modules/_ctypes/libffi/configure.ac.

I gave up on using libffi3 files on os x.
Instead, static configuration with files from pyobjc is used.
2008-03-04 20:09:11 +00:00
Raymond Hettinger d553d856e7 Beef-up docs and tests for itertools. Fix-up end-case for product(). 2008-03-04 04:17:08 +00:00
Neal Norwitz ca752f3b1a Only DECREF if ret != NULL 2008-03-03 04:37:45 +00:00
Raymond Hettinger e3fabd10cb Handle 0-tuples which can be singletons. 2008-03-02 12:02:19 +00:00
Raymond Hettinger 61024b9181 Simplify code for itertools.product(). 2008-03-02 11:57:16 +00:00
Gerhard Häring 1cc60ed214 Updated to pysqlite 2.4.1. Documentation additions will come later. 2008-02-29 22:08:41 +00:00
Raymond Hettinger 08ff6822cc Handle the repeat keyword argument for itertools.product(). 2008-02-29 02:21:48 +00:00
Raymond Hettinger b4cbc98c39 Add alternate constructor for itertools.chain(). 2008-02-28 22:46:41 +00:00
Raymond Hettinger 05bf6338b8 Have itertools.chain() consume its inputs lazily instead of building a tuple of iterators at the outset. 2008-02-28 22:30:42 +00:00
Christian Heimes cdddf18768 The empty tuple is usually a singleton with a much higher refcnt than 1 2008-02-28 11:18:49 +00:00
Raymond Hettinger 3bd771263d One too many decrefs. 2008-02-27 01:08:04 +00:00
Raymond Hettinger 93e804da9c Add itertools.combinations(). 2008-02-26 23:40:50 +00:00
Christian Heimes ea837931cf Patch #1691070 from Roger Upole: Speed up PyArg_ParseTupleAndKeywords() and improve error msg
My tests don't show the promised speed up of 10%. The code is as fast as the old code for simple cases and slightly faster for complex cases with several of args and kwargs. But the patch simplifies the code, too.
2008-02-26 17:23:51 +00:00
Christian Heimes aa0ef52ea1 The contains function raised a gcc warning. The new code is copied straight from py3k. 2008-02-26 08:18:11 +00:00
Neal Norwitz b628913b08 Whitespace normalization 2008-02-26 05:12:50 +00:00
Facundo Batista b1d70e2252 Coerced PyBool_Type to be able to compare it. 2008-02-25 23:46:02 +00:00
Raymond Hettinger 9d63837e9b Make sure the itertools filter functions give the same performance for func=bool as func=None. 2008-02-25 22:42:32 +00:00
Facundo Batista df4198915a Issue 2168. gdbm and dbm needs to be iterable; this fixes a
failure in the shelve module.  Thanks Thomas Herve.
2008-02-25 22:33:55 +00:00
Neal Norwitz 114dd944de Fix typo of hexidecimal 2008-02-24 08:27:49 +00:00
Neal Norwitz ed0a593a10 Get ctypes working on the Alpha (Tru64). The problem was that there
were two module_methods and the one used depended on the order the
modules were loaded.  By making the test module_methods static,
it is not exported and the correct version is picked up.
2008-02-24 07:21:56 +00:00
Georg Brandl ebcfd11c16 #1506171: added operator.methodcaller(). 2008-02-23 23:04:35 +00:00
Georg Brandl e2065c65d3 #1826: allow dotted attribute paths in operator.attrgetter. 2008-02-23 23:02:23 +00:00
Christian Heimes f0476e8169 Patch #1957: syslogmodule: Release GIL when calling syslog(3) 2008-02-23 17:42:31 +00:00
Facundo Batista 7e251e83d5 Issue 1089358. Adds the siginterrupt() function, that is just a
wrapper around the system call with the same name.  Also added
test cases, doc changes and NEWS entry. Thanks Jason and Ralf
Schmitt.
2008-02-23 15:07:35 +00:00
Christian Heimes 5224d28d38 Patch #1759: Backport of PEP 3129 class decorators
with some help from Georg
2008-02-23 15:01:05 +00:00
Raymond Hettinger 532316dfa6 Add more comments 2008-02-23 04:03:50 +00:00
Eric Smith a73fbe791d Added future_builtins, which contains PEP 3127 compatible versions of hex() and oct(). 2008-02-23 03:09:44 +00:00
Raymond Hettinger 73d7963242 Improve the implementation of itertools.product()
* Fix-up issues pointed-out by Neal Norwitz.
* Add extensive comments.
* The lz->result variable is now a tuple instead of a list.
* Use fast macro getitem/setitem calls so most code is in-line.
* Re-use the result tuple if available (modify in-place instead of copy).
2008-02-23 02:20:41 +00:00
Raymond Hettinger 50986cc45b First draft for itertools.product(). Docs and other updates forthcoming. 2008-02-22 03:16:42 +00:00
Thomas Heller 981f31860b configure.ac: Remove the configure check for _Bool, it is already done in the
top-level Python configure script.
configure, fficonfig.h.in: regenerated.
2008-02-21 18:28:48 +00:00
Eric Smith a9f7d62480 Backport of PEP 3101, Advanced String Formatting, from py3k.
Highlights:
 - Adding PyObject_Format.
 - Adding string.Format class.
 - Adding __format__ for str, unicode, int, long, float, datetime.
 - Adding builtin format.
 - Adding ''.format and u''.format.
 - str/unicode fixups for formatters.

The files in Objects/stringlib that implement PEP 3101 (stringdefs.h,
unicodedefs.h, formatter.h, string_format.h) are identical in trunk
and py3k.  Any changes from here on should be made to trunk, and
changes will propogate to py3k).
2008-02-17 19:46:49 +00:00
Facundo Batista e139688d34 Issue 2112. mmap does not raises EnvironmentError no more, but
a subclass of it. Thanks John Lenton.
2008-02-17 18:59:29 +00:00
Amaury Forgeot d'Arc 588ff93f13 Crashers of the day: Py_CLEAR must be used when there is a chance that the
function can be called recursively.
This was discussed in issue1020188.

In python codebase, all occurrences of Py_[X]DECREF(xxx->yyy) are suspect,
except when they appear in tp_new or tp_dealloc functions, or when
the member cannot be of a user-defined class.
Note that tp_init is not safe.

I do have a (crashing) example for every changed line.
Is it worth adding them to the test suite?

Example:

class SpecialStr(str):
    def __del__(self):
        s.close()

import cStringIO
s = cStringIO.StringIO(SpecialStr("text"))
s.close() # Segfault
2008-02-16 14:34:57 +00:00
Christian Heimes 7adfad850a Bug #2111: mmap segfaults when trying to write a block opened with PROT_READ
Thanks to Thomas Herve for the fix.
2008-02-15 08:20:11 +00:00
Christian Heimes 3b718a79af Implemented Martin's suggestion to clear the free lists during the garbage collection of the highest generation. 2008-02-14 12:47:33 +00:00
Thomas Heller a06a1a88ee Add pickle support to ctypes types. 2008-02-13 20:21:53 +00:00
Georg Brandl 0a40ffb1b3 #2063: correct order of utime and stime in os.times()
result on Windows.
2008-02-13 07:20:22 +00:00
Raymond Hettinger a37430a0ce dict.copy() rises from the ashes. Revert r60687. 2008-02-12 19:05:36 +00:00
Raymond Hettinger 17a74c395e Add -3 warnings that set.copy(), dict.copy(), and defaultdict.copy() will go away in Py3.x 2008-02-09 04:37:49 +00:00
Hye-Shik Chang 01612e7dec Update big5hkscs codec to conform to the HKSCS:2004 revision. 2008-02-08 17:10:20 +00:00
Amaury Forgeot d'Arc b01aa430d5 issue 2045: Infinite recursion when printing a subclass of defaultdict,
if default_factory is set to a bound method.

Will backport.
2008-02-08 00:56:02 +00:00
Brett Cannon 8352585909 Make sure a switch statement does not have repetitive case statements.
Error found through LLVM post-2.1 svn.
2008-02-07 22:27:10 +00:00
Thomas Heller 55b8c3e26f Fixed refcounts and error handling.
Should not be merged to py3k branch.
2008-02-06 20:29:17 +00:00
Christian Heimes e6a8074892 Another int -> pid_t case 2008-02-03 19:51:13 +00:00
Gregory P. Smith eeed5b7c22 Merge this fix from the pybsddb tree:
r293 | jcea | 2008-01-31 01:08:19 -0800 (Thu, 31 Jan 2008) | 4 lines

Solved memory leak when using cursors with
databases without environment.
2008-02-03 07:20:53 +00:00
Andrew MacIntyre 94dcf0ddbf The wrapper function is supposed to be for spawnvpe() so that's
what we should call [this wrapper only available on OS/2].

Backport candidate to 2.5.
2008-02-03 07:07:31 +00:00
Raymond Hettinger fe424f754f Neaten-up a bit. 2008-02-02 05:24:44 +00:00
Christian Heimes d491d71903 More int -> pid_t. 2008-02-01 18:49:26 +00:00
Jeffrey Yasskin ca2b69f765 Move __builtins__.trunc() to math.trunc() per
http://mail.python.org/pipermail/python-dev/2008-January/076626.html and issue
1965.
2008-02-01 06:22:46 +00:00
Christian Heimes 951cc0f474 Fixed bug #1983: Return from fork() is pid_t, not int 2008-01-31 23:08:23 +00:00
Thomas Heller 99120c4f7e Revert rev. 59925, it breaks comtypes (I need to further examine this). 2008-01-28 08:44:13 +00:00
Christian Heimes d7e1b2bd17 static PyObject* variables should use PyString_InternFromString() instead of PyObject_FromString() to store a python string in a function level static var. 2008-01-28 02:07:53 +00:00
Neal Norwitz b3c8243c47 Update to newer version of ffi. Fixes crashes and test failures of longdouble 2008-01-27 17:10:43 +00:00
Neal Norwitz e9057ff1a9 Initialize variable to prevent warning on some platform/config. 2008-01-27 17:10:35 +00:00
Neal Norwitz e1027f9034 Use int for the sign rather than a char. char can be signed or unsigned.
It's system dependent.  This might fix the problem with test_rfind failing.
2008-01-27 07:37:38 +00:00
Neal Norwitz 448654f1f8 Mostly reformat. Also set an error and return NULL if neither MS_WINDOWS
nor UNIX is defined.  This may have caused problems on cygwin.
2008-01-27 07:36:03 +00:00
Neal Norwitz 739a3c40e6 Cleanup the code a bit. test_rfind is failing on PPC and PPC64 buildbots,
this might fix the problem.
2008-01-26 20:24:36 +00:00
Georg Brandl 29604a1b4c #1940: make it possible to use curses.filter() before curses.initscr()
as the documentation says.
2008-01-26 14:03:47 +00:00
Christian Heimes 543cabc842 setup.py doesn't pick up changes to a header file 2008-01-25 14:54:23 +00:00
Christian Heimes 7f39c9fcbb Backport of several functions from Python 3.0 to 2.6 including PyUnicode_FromString, PyUnicode_Format and PyLong_From/AsSsize_t. The functions are partly required for the backport of the bytearray type and _fileio module. They should also make it easier to port C to 3.0.
First chapter of the Python 3.0 io framework back port: _fileio
The next step depends on a working bytearray type which itself depends on a backport of the nwe buffer API.
2008-01-25 12:18:43 +00:00
Neal Norwitz 5f95a79b2b Add prototypes to get the mathmodule.c to compile on OSF1 5.1 (Tru64)
and eliminate a compiler warning in floatobject.c.  There might be
a better way to go about this, but it should be good enough for now.
2008-01-25 08:04:16 +00:00
Thomas Heller 5ca924038d Invert the checks in get_[u]long and get_[u]longlong. The intent was
to not accept float types; the result was that integer-like objects
were not accepted.

Ported from release25-maint.
2008-01-24 19:15:02 +00:00
Thomas Heller 71dba4ccee Replace Py_BuildValue with PyTuple_Pack because it is faster.
Also add a missing DECREF.
2008-01-24 18:54:12 +00:00
Thomas Heller e4c03e4520 Use a PyDictObject again for the array type cache; retrieving items
from the WeakValueDictionary was slower by nearly a factor of 3.

To avoid leaks, weakref proxies for the array types are put into the
cache dict, with weakref callbacks that removes the entries when the
type goes away.
2008-01-24 18:36:27 +00:00
Guido van Rossum 6f4ee2d48f Fix misleading comment reported in issue #1917. 2008-01-23 22:43:27 +00:00
Armin Rigo 964ca4274f patch 1754489 by vlahan:
improve portability of address length calculation for AF_UNIX sockets
2008-01-23 14:07:13 +00:00
Christian Heimes 501dbbfb70 Use Py_TYPE() instead of ->ob_type 2008-01-23 14:00:25 +00:00
Georg Brandl d02fc48f67 Fix for #1087741 patch. 2008-01-22 19:56:03 +00:00
Georg Brandl c09b94e063 Reformat some ugly code. 2008-01-21 21:28:32 +00:00
Georg Brandl 32a3fb5ec9 Patch #1720595: add T_BOOL to the range of structmember types.
Patch by Angelo Mottola, reviewed by MvL, tests by me.
2008-01-21 21:23:15 +00:00
Georg Brandl 845c403c08 #1087741: make mmap.mmap the type of mmap objects, not a
factory function. Allow it to be subclassed.
2008-01-21 14:16:46 +00:00
Georg Brandl ef92802f73 Switch mmap from old Py_FindMethod to new PyObject_GenericGetAttr attribute access.
Fixes #1087735.
2008-01-20 14:50:05 +00:00
Georg Brandl f558d2e5f5 #1509: fix sqlite3 docstrings and docs w.r.t. cursor.fetchXXX methods. 2008-01-19 20:53:07 +00:00
Andrew M. Kuchling 060e6855a8 Patch #1019808 from Federico Schwindt: Return correct socket error when
a default timeout has been set, by using getsockopt() to get the error
condition (instead of trying another connect() call, which seems to be
a Linuxism).

2.5 bugfix candidate, assuming no one reports any problems with this change.
2008-01-19 20:47:59 +00:00
Georg Brandl 309501a617 #1663329: add os.closerange() to close a range of fds,
ignoring errors, and use this in subprocess to speed up
subprocess creation in close_fds mode. Patch by Mike Klaas.
2008-01-19 20:22:13 +00:00
Andrew M. Kuchling 5c60bfcfbf Patch #976880: add mmap .rfind() method, and 'end' paramter to .find().
Contributed by John Lenton.
2008-01-19 18:18:41 +00:00
Christian Heimes 4956d2b889 Silence Coverity false alerts with CIDs #172, #183, #184 2008-01-18 19:12:56 +00:00
Christian Heimes 5cc3f26c48 Coverity CID #168
leaked_storage: Returned without freeing storage "fp"
2008-01-18 08:53:45 +00:00
Christian Heimes 87dcf3d260 Coverity issue CID #182
size_error: Allocating 1 bytes to pointer "children", which needs at least 4 bytes
2008-01-18 08:04:57 +00:00
Christian Heimes 62a8e95fea Coverity issue CID #197
var_decl: Declared variable "stm" without initializer
ninit_use_in_call: Using uninitialized value "stm" (field "stm".tm_zone uninitialized) in call to function "mktime"
2008-01-18 07:30:20 +00:00
Raymond Hettinger 18e08e5e61 clearcache() needs to remove the dict as well as clear it. 2008-01-18 00:10:42 +00:00
Brett Cannon a35a8b11c3 Fix a function pointer declaration to silence the compiler. 2008-01-17 18:45:10 +00:00
Raymond Hettinger 473170908e Make starmap() match its pure python definition and accept any itertable input (not just tuples). 2008-01-17 03:02:14 +00:00
Thomas Heller 0f75f9847a Use 'g' instead of 'D' as the ctypes typecode for c_longdouble, for
compliance with PEP 3118.
2008-01-16 20:34:37 +00:00
Thomas Heller 415c1e36a9 Raise a TypeError instead of a ValueError when too many initializers
are used in a Structure or Union constructor.
2008-01-16 19:45:51 +00:00