summaryrefslogtreecommitdiffstats
path: root/Objects/listobject.c
Commit message (Collapse)AuthorAgeFilesLines
* Fix in PyList_New(). With GC enabled and when out of memory,Vladimir Marangozov2000-07-151-1/+1
| | | | free() the GC pointer, not the object pointer.
* replace PyXXX_Length calls with PyXXX_Size callsJeremy Hylton2000-07-121-2/+2
|
* ANSI-fication of the sources.Fred Drake2000-07-091-125/+45
|
* Neil Schemenauer: small fixes for GCGuido van Rossum2000-07-011-0/+1
|
* Change copyright notice - 2nd try.Guido van Rossum2000-06-301-6/+0
|
* Change copyright notice.Guido van Rossum2000-06-301-22/+7
|
* final patches from Neil Schemenauer for garbage collectionJeremy Hylton2000-06-301-3/+6
|
* part 2 of Neil Schemenauer's GC patches:Jeremy Hylton2000-06-231-5/+6
| | | | | | | | This patch modifies the type structures of objects that participate in GC. The object's tp_basicsize is increased when GC is enabled. GC information is prefixed to the object to maintain binary compatibility. GC objects also define the tp_flag Py_TPFLAGS_GC.
* Round 1 of Neil Schemenauer's GC patches:Jeremy Hylton2000-06-231-0/+29
| | | | | This patch adds the type methods traverse and clear necessary for GC implementation.
* Patch from /F:Andrew M. Kuchling2000-06-181-21/+16
| | | | | this patch introduces PySequence_Fast and PySequence_Fast_GET_ITEM, and modifies the list.extend method to accept any kind of sequence.
* Thomas Wouters <thomas@xs4all.net>:Fred Drake2000-06-151-0/+15
| | | | | | | | | | | | | | | The following patch adds "sq_contains" support to rangeobject, and enables the already-written support for sq_contains in listobject and tupleobject. The rangeobject "contains" code should be a bit more efficient than the current default "in" implementation ;-) It might not get used much, but it's not that much to add. listobject.c and tupleobject.c already had code for sq_contains, and the proper struct member was set, but the PyType structure was not extended to include tp_flags, so the object-specific code was not getting called (Go ahead, test it ;-). I also did this for the immutable_list_type in listobject.c, eventhough it is probably never used. Symmetry and all that.
* Improve TypeError exception message for list catenation.Fred Drake2000-06-011-2/+2
|
* Michael Hudson <mwh21@cam.ac.uk>:Fred Drake2000-06-011-2/+6
| | | | | Removed PyErr_BadArgument() calls and replaced them with more useful error messages.
* Vladimir Marangozov's long-awaited malloc restructuring.Guido van Rossum2000-05-031-9/+9
| | | | | | | | | | For more comments, read the patches@python.org archives. For documentation read the comments in mymalloc.h and objimpl.h. (This is not exactly what Vladimir posted to the patches list; I've made a few changes, and Vladimir sent me a fix in private email for a problem that only occurs in debug mode. I'm also holding back on his change to main.c, which seems unnecessary to me.)
* add list_contains and tuplecontains: efficient implementations of tp_containsJeremy Hylton2000-04-271-0/+21
|
* Christian Tismer's "trashcan" patch:Guido van Rossum2000-03-131-0/+2
| | | | | | | | Added wrapping macros to dictobject.c, listobject.c, tupleobject.c, frameobject.c, traceback.c that safely prevends core dumps on stack overflow. Macros and functions in object.c, object.h. The method is an "elevator destructor" that turns cascading deletes into tail recursive behavior when some limit is hit.
* Added Christian Tismer's patch to allow list.append(a,b,c) back --Guido van Rossum2000-03-131-4/+18
| | | | | with a twist: you have to define NO_STRICT_LIST_APPEND manually to enable multi-arg append().
* OKOK, Greg's right, I should've used the :name option in the argumentGuido van Rossum2000-02-241-9/+9
| | | | format strings.
* Made all list methods use PyArg_ParseTuple(), for more accurateGuido van Rossum2000-02-241-30/+29
| | | | | | | | diagnostics. *** INCOMPATIBLE CHANGE: This changes append(), remove(), index(), and *** count() to require exactly one argument -- previously, multiple *** arguments were silently assumed to be a tuple.
* The rest of the changes by Trent Mick and Dale Nagata for warning-freeGuido van Rossum2000-01-201-1/+1
| | | | compilation on NT Alpha. Mostly added casts etc.
* When deallocating a list, DECREF the items from the end back to the start.Guido van Rossum1999-06-091-1/+6
|
* Improve text of some error messages, as suggested by Sean Reifschneider.Guido van Rossum1999-04-191-2/+3
|
* Jim Ahlstrom patch: cutoff should be a long for machines with 16-bitGuido van Rossum1999-01-141-1/+1
| | | | | | ints. (In theory, other variables should be widened to long as well, but this won't ever be needed, since the len of a list is still an int.)
* listextend(): New method which implements L.extend(L2).Barry Warsaw1998-10-091-0/+74
|
* Remove a redundant check from list_slice() and list_ass_slice().Guido van Rossum1998-10-071-4/+0
| | | | Noted by Greg Stein.
* Added doc strings for methods and a new pop() method.Guido van Rossum1998-06-301-7/+54
|
* Minor cleanup by Tim after my changes:Guido van Rossum1998-06-171-25/+19
| | | | | | | | | | | | + Took the "list" argument out of the other functions that no longer need it. This speeds things up a little more. + Small comment changes in accord with that. + Exploited the now-safe ability to cache values in the partitioning loop. Makes no timing difference on my flavor of Pentium, but this machine ran out of registers 12 iterations ago. It should yield a small speedup on a RISC machine, and not hurt in any case.
* Tim's latest, with some of my changes (also a TP suggestion) added:Guido van Rossum1998-06-161-218/+551
| | | | | | | | | | instead of testing whether the list changed size after each comparison, temporarily set the type of the list to an immutable list type. This should allow continued use of the list for legitimate purposes but disallows all operations that can change it in any way. (Changes to the internals of list items are not caught, of cause; that's not possible to detect, and it's not necessary to protect the sort code, either.)
* Tim's revision of the previous patch. He also added some sparts toGuido van Rossum1998-05-291-43/+35
| | | | the median-of-three code to get a few percent back.
* Guard against changes in the list size during a compare or sort.Guido van Rossum1998-05-281-22/+31
|
* Tim's quicksort on May 25.Guido van Rossum1998-05-261-123/+141
|
* Tim's quicksort on May 13.Guido van Rossum1998-05-131-1/+1
|
* Tim's quicksort on May 10.Guido van Rossum1998-05-131-68/+99
|
* Get rid of the unused ifdefed-out old sort code.Guido van Rossum1998-04-281-76/+0
|
* Quicksort retuned by Tim Peters.Guido van Rossum1998-04-281-33/+26
|
* Use Py_Repr{Enter,Leave} to display recursive lists in finite space.Guido van Rossum1998-04-101-1/+20
| | | | (Jeremy will hardly recognize his patch :-)
* Add back some safeguards on the index elements that were lost in theGuido van Rossum1998-02-251-2/+2
| | | | | | | | | | last patch. Dave Ascher found a case that dumps core without these: def myComparison(x,y): return cmp(x%3,y%7) z = range(12) z.sort(myComparison)
* Modified quicksort by Raymund Galvin, after studying the GNU libg++Guido van Rossum1997-12-101-23/+48
| | | | | quicksort. This should be much faster if there are lots of duplicates, and otherwise at least as good.
* Rename roundup() to roundupsize(), as there's a macro roundup() in theGuido van Rossum1997-08-251-2/+2
| | | | | sys/types.h header on many systems that may get pulled in (through WANT_SIGFPE_HANDLER which pulls in signal.h).
* Reordered list of methods to hopefully put the most frequently usedGuido van Rossum1997-07-131-3/+3
| | | | ones near the front.
* PyObject_Compare can raise an exception now.Guido van Rossum1997-05-231-3/+12
|
* Quickly renamed the last directory.Guido van Rossum1997-05-021-288/+295
|
* Tweaks to keep the Microsoft compiler quiet.Guido van Rossum1997-04-091-1/+1
|
* Add casts to CMPERROR macro to silence SunPro compiler warnings aboutGuido van Rossum1997-03-051-1/+1
| | | | integer overflow in << operator.
* Change comment about MINSIZE -- 10 is optimal for Python.Guido van Rossum1996-12-161-3/+6
|
* Some more tuning of quicksort: use pointers instead of indexing.Guido van Rossum1996-12-111-54/+60
|
* Added new quicksort implementation, tailored to sorting arrays ofGuido van Rossum1996-12-101-0/+227
| | | | | | | | object pointers. Should be a bit faster than the C library's qsort(), and doesn't have the prohibition on recursion that Solaris qsort() has in the threaded version of their C library. Thanks to discussions with Tim Peters.
* New permission notice, includes CNRI.Guido van Rossum1996-10-251-13/+20
|
* Use pre-created string objects for most common exceptionsGuido van Rossum1996-08-091-2/+8
| | | | (especially IndexError which is caught by 'for')
* args to call_object must be tuple or NULLGuido van Rossum1995-07-121-1/+1
|