summaryrefslogtreecommitdiffstats
path: root/Objects/listobject.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* a few peephole optimizationsGuido van Rossum1995-03-091-2/+4
|
* explicitly init flags in methodlistsGuido van Rossum1995-02-191-1/+1
|
* round up list item counts to improve realloc performanceGuido van Rossum1995-01-261-3/+17
|
* Fix NULL dereference in case of out-of-memory conditionJack Jansen1995-01-191-4/+5
|
* added reverselist; free recycling bin on error exitGuido van Rossum1995-01-171-0/+16
|
* fix reentrancy bug in slice assignmentGuido van Rossum1995-01-171-4/+20
|
* Added 1995 to copyright message.Guido van Rossum1995-01-041-2/+2
| | | | | floatobject.c: fix hash(). methodobject.c: support METH_FREENAME flag bit.
* Lots of minor changes. Note for mappingobject.c: the hash table pointerGuido van Rossum1995-01-021-3/+5
| | | | can now be NULL.
* Correct problems found by THINK C 6.0Guido van Rossum1994-08-291-44/+67
|
* * posixmodule.c: added set{uid,gid}.Guido van Rossum1993-11-101-1/+1
| | | | | | * {tuple,list,mapping,array}object.c: call printobject with 0 for flags * compile.c (parsestr): use quote instead of '\'' at one crucial point * arraymodule.c (array_getattr): Added __members__ attribute
* * listobject.c (list_ass_slice): XDECREF instead of DECREF soGuido van Rossum1993-10-271-5/+5
| | | | | | setlistslice() can be used to cut the unused part out of a freshly made slice (as done by bagof()). [needed by the next mod!] * structural changes to bagof(), map() etc.
* * Extended X interface: pixmap objects, colormap objects visual objects,Sjoerd Mullender1993-10-111-2/+2
| | | | | | | | image objects, and lots of new methods. * Added counting of allocations and deallocations of builtin types if COUNT_ALLOCS is defined. Had to move calls to NEWREF down in some files. * Bug fix in sorting lists.
* Minor fixes / changes for Mac compatibility.Guido van Rossum1993-07-291-1/+1
|