summaryrefslogtreecommitdiffstats
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* Remove the __unicode__ method from exceptions. Allows unicode() to be calledBrett Cannon2006-09-091-17/+0
| | | | | | | on exception classes. Would require introducing a tp_unicode slot to make it work otherwise. Fixes bug #1551432 and will be backported.
* Fix refcounts and add error checks.Raymond Hettinger2006-09-071-8/+35
|
* Bug #1542051: Exceptions now correctly call PyObject_GC_UnTrack.Georg Brandl2006-09-061-2/+8
| | | | | Also make sure that every exception class has __module__ set to 'exceptions'.
* Fix SF bug #1546288, crash in dict_equal.Neal Norwitz2006-09-051-0/+3
|
* "Conceptual" merge of rev 51711 from the 2.5 branch.Tim Peters2006-09-051-1/+1
| | | | | | | | | | | | i_divmod(): As discussed on Python-Dev, changed the overflow checking to live happily with recent gcc optimizations that assume signed integer arithmetic never overflows. This differs from the corresponding change on the 2.5 and 2.4 branches, using a less obscure approach, but one that /may/ tickle platform idiocies in their definitions of LONG_MIN. The 2.4 + 2.5 change avoided introducing a dependence on LONG_MIN, at the cost of substantially goofier code.
* Fix endcase for str.rpartition()Raymond Hettinger2006-09-043-8/+8
|
* Make sure memory is properly cleaned up in file_init.Brett Cannon2006-08-311-1/+1
| | | | Backport candidate.
* Reverting the patch that tried to fix the issue whereby x**2 raisesAlex Martelli2006-08-231-3/+3
| | | | | | | OverflowError while x*x succeeds and produces infinity; apparently these inconsistencies cannot be fixed across ``all'' platforms and there's a widespread feeling that therefore ``every'' platform should keep suffering forevermore. Ah well.
* x**2 should about equal x*x (including for a float x such that the result isAlex Martelli2006-08-231-3/+3
| | | | | | inf) but didn't; added a test to test_float to verify that, and ignored the ERANGE value for errno in the pow operation to make the new test pass (with help from Marilyn Davis at the Google Python Sprint -- thanks!).
* Patch #1541585: fix buffer overrun when performing repr() onNeal Norwitz2006-08-211-12/+29
| | | | | | a unicode string in a build with wide unicode (UCS-4) support. This code could be improved, so add an XXX comment.
* Fix a couple of ssize-t issues reported by Alexander Belopolsky on python-devNeal Norwitz2006-08-211-1/+1
|
* Move initialization to after the asserts for non-NULL values.Neal Norwitz2006-08-191-2/+4
| | | | | | Klocwork 286-287. (I'm not backporting this, but if someone wants to, feel free.)
* Move initialization of interned strings to before allocating theNeal Norwitz2006-08-191-11/+15
| | | | | | object so we don't leak op. (Fixes an earlier patch to this code) Klockwork #350
* Subclasses of int/long are allowed to define an __index__.Neal Norwitz2006-08-151-4/+2
|
* Fix refleak introduced in rev. 51248.Georg Brandl2006-08-141-1/+3
|
* Correct an accidentally removed previous patch.Marc-André Lemburg2006-08-141-5/+2
|
* Slightly revised version of patch #1538956:Marc-André Lemburg2006-08-143-21/+93
| | | | | | | | | | Replace UnicodeDecodeErrors raised during == and != compares of Unicode and other objects with a new UnicodeWarning. All other comparisons continue to raise exceptions. Exceptions other than UnicodeDecodeErrors are also left untouched.
* Can't return NULL from a void function. If there is a memory error,Neal Norwitz2006-08-141-2/+2
| | | | | about the best we can do is call PyErr_WriteUnraisable and go on. We won't be able to do the call below either, so verify delstr is valid.
* Fix segfault when doing string formatting on subclasses of long ifNeal Norwitz2006-08-131-1/+4
| | | | | | __oct__, __hex__ don't return a string. Klocwork 308
* Handle a whole lot of failures from PyString_FromInternedString().Neal Norwitz2006-08-131-25/+101
| | | | Should fix most of Klocwork 234-272.
* Fix a couple of bugs exposed by the new __index__ code. The 64-bit buildbotsNeal Norwitz2006-08-122-11/+10
| | | | | | | | | | | were failing due to inappropriate clipping of numbers larger than 2**31 with new-style classes. (typeobject.c) In reviewing the code for classic classes, there were 2 problems. Any negative value return could be returned. Always return -1 if there was an error. Also make the checks similar with the new-style classes. I believe this is correct for 32 and 64 bit boxes, including Windows64. Add a test of classic classes too.
* Patch #1538606, Patch to fix __index__() clipping.Neal Norwitz2006-08-1210-130/+125
| | | | | | | I modified this patch some by fixing style, some error checking, and adding XXX comments. This patch requires review and some changes are to be expected. I'm checking in now to get the greatest possible review and establish a baseline for moving forward. I don't want this to hold up release if possible.
* Check return of PyMem_MALLOC (garbage) is non-NULL.Neal Norwitz2006-08-121-2/+6
| | | | | | Check seq in both portions of if/else. Klocwork #289-290.
* Whoops, how did that get in there. :-) Revert all the parts of 51227 that ↵Neal Norwitz2006-08-121-3/+2
| | | | were not supposed to go it. Only Modules/_ctypes/cfields.c was supposed to be changed
* Check returned pointer is valid.Neal Norwitz2006-08-121-2/+3
| | | | Klocwork #233
* Klocwork made another run and found a bunch more problems.Neal Norwitz2006-08-121-0/+4
| | | | | | | This is the first batch of fixes that should be easy to verify based on context. This fixes problem numbers: 220 (ast), 323-324 (symtable), 321-322 (structseq), 215 (array), 210 (hotshot), 182 (codecs), 209 (etree).
* Fix and test for an infinite C recursion.Armin Rigo2006-08-091-1/+1
|
* __hash__ may now return long int; the final hashMartin v. Löwis2006-08-092-6/+7
| | | | | value is obtained by invoking hash on the long int. Fixes #1536021.
* memcmp() can return values other than -1, 0, and +1 but tp_compareThomas Heller2006-08-081-1/+1
| | | | must not.
* Remove "non-mapping" and "non-sequence" from TypeErrors raised byGeorg Brandl2006-08-081-2/+2
| | | | | | | PyMapping_Size and PySequence_Size. Because len() tries first sequence, then mapping size, it will always raise a "non-mapping object has no len" error which is confusing.
* Typo fixesAndrew M. Kuchling2006-08-042-2/+2
|
* Change fix for segfaulting property(), add a NEWS entry and a test.Georg Brandl2006-08-041-10/+12
|
* Fix bug caused by first decrefing, then increfing.Georg Brandl2006-08-041-5/+4
|
* SF patch #1534048 (bug #1531003): fix typo in error messageFred Drake2006-08-041-1/+1
|
* _PyWeakref_GetWeakrefCount() now returns a Py_ssize_t instead of long.Neal Norwitz2006-08-021-2/+2
|
* typo fixAndrew M. Kuchling2006-08-011-1/+1
|
* Whitespace normalizationNeal Norwitz2006-07-301-35/+32
|
* Bug #1515471: string.replace() accepts character buffers again.Neal Norwitz2006-07-301-71/+51
| | | | Pass the char* and size around rather than PyObject's.
* [Bug #1414697] Change docstring of set/frozenset types to specify that the ↵Andrew M. Kuchling2006-07-291-2/+2
| | | | contents are unique. Raymond, please feel free to edit or revert.
* Closure can't be NULL at this point since we know it's a tuple.Neal Norwitz2006-07-271-1/+1
| | | | Reported by Klocwork # 74.
* Move the initialization of size_a down below the check for a being NULL.Neal Norwitz2006-07-231-1/+2
| | | | Reported by Klocwork #106
* Handle allocation failures gracefully. Found with failmalloc.Neal Norwitz2006-07-212-0/+5
| | | | Many (all?) of these could be backported.
* Move the initialization of some pointers earlier. The problem isNeal Norwitz2006-07-211-1/+1
| | | | | that if we call Py_DECREF(frame) like we do if allocating locals fails, frame_dealloc() will try to use these bogus values and crash.
* Add some asserts that we got good params passedNeal Norwitz2006-07-211-0/+3
|
* otherset is known to be non-NULL based on checks before and DECREF after.Neal Norwitz2006-07-171-2/+2
| | | | | | DECREF otherset rather than XDECREF in error conditions too. Reported by Klockwork #154.
* Stop INCREFing name, then checking if it's NULL. name (f_name) should neverNeal Norwitz2006-07-171-3/+6
| | | | | | be NULL so assert it. Fix one place where we could have passed NULL. Reported by Klocwork #66.
* PyFunction_SetDefaults() is documented as taking None or a tuple.Neal Norwitz2006-07-161-2/+2
| | | | | | A NULL would crash the PyTuple_Check(). Now make NULL return a SystemError. Reported by Klocwork #73.
* Handle a NULL name properly.Neal Norwitz2006-07-161-3/+3
| | | | Reported by Klocwork #67
* Use sizeof(buffer) instead of duplicating the constants to ensure they won'tNeal Norwitz2006-07-161-7/+7
| | | | | | | | | be wrong. The real change is to pass (bufsz - 1) to PyOS_ascii_formatd and 1 to strncat. strncat copies n+1 bytes from src (not dest). Reported by Klocwork #58.
* a & b were dereffed above, so they are known to be valid pointers.Neal Norwitz2006-07-161-3/+2
| | | | | | z is known to be NULL, nothing to DECREF. Reported by Klockwork, #107.