Serhiy Storchaka
14a7d6389f
Issue #26494 : Fixed crash on iterating exhausting iterators.
...
Affected classes are generic sequence iterators, iterators of bytearray,
list, tuple, set, frozenset, dict, OrderedDict and corresponding views.
2016-03-30 20:43:06 +03:00
Serhiy Storchaka
d43e928753
Issue #23985 : Fixed integer overflow in iterator object. Original patch by
...
Clement Rouault.
2015-05-21 20:49:34 +03:00
Antoine Pitrou
c83ea137d7
Untabify C files. Will watch buildbots.
2010-05-09 14:46:46 +00:00
Martin v. Löwis
6819210b9e
PEP 3123: Provide forward compatibility with Python 3.0, while keeping
...
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
2007-07-21 06:55:02 +00:00
Thomas Wouters
c6e55068ca
Use Py_VISIT in all tp_traverse methods, instead of traversing manually or
...
using a custom, nearly-identical macro. This probably changes how some of
these functions are compiled, which may result in fractionally slower (or
faster) execution. Considering the nature of traversal, visiting much of the
address space in unpredictable patterns, I'd argue the code readability and
maintainability is well worth it ;P
2006-04-15 21:47:09 +00:00
Georg Brandl
347b30042b
Remove unnecessary casts in type object initializers.
2006-03-30 11:57:00 +00:00
Martin v. Löwis
eb079f1c25
Use Py_ssize_t for counts and sizes.
...
Convert Py_ssize_t using PyInt_FromSsize_t
2006-02-16 14:32:27 +00:00
Martin v. Löwis
18e165558b
Merge ssize_t branch.
2006-02-15 17:27:45 +00:00
Armin Rigo
f5b3e36493
Renamed _length_cue() to __length_hint__(). See:
...
http://mail.python.org/pipermail/python-dev/2006-February/060524.html
2006-02-11 21:32:43 +00:00
Raymond Hettinger
6b27cda643
Convert iterator __len__() methods to a private API.
2005-09-24 21:23:05 +00:00
Raymond Hettinger
75ccea3777
SF patch #1020188 : Use Py_CLEAR where necessary to avoid crashes
...
(Contributed by Dima Dorfman)
2004-09-01 07:02:44 +00:00
Raymond Hettinger
7892b1c651
* Add unittests for iterators that report their length
...
* Document the differences between them
* Fix corner cases covered by the unittests
* Use Py_RETURN_NONE where possible for dictionaries
2004-04-12 18:10:01 +00:00
Raymond Hettinger
435bf58b7b
Make iterators length transparent where possible.
2004-03-18 22:43:10 +00:00
Walter Dörwald
03f6c54359
Whitespace normalization.
2003-06-25 13:12:18 +00:00
Raymond Hettinger
1da1dbf458
Renamed PyObject_GenericGetIter to PyObject_SelfIter
...
to more accurately describe what the function does.
Suggested by Thomas Wouters.
2003-03-17 19:46:11 +00:00
Raymond Hettinger
0153826964
Created PyObject_GenericGetIter().
...
Factors out the common case of returning self.
2003-03-17 08:24:35 +00:00
Guido van Rossum
84b2bed435
Squash a few calls to the hideously expensive PyObject_CallObject(o,a)
...
-- replace then with slightly faster PyObject_Call(o,a,NULL). (The
difference is that the latter requires a to be a tuple; the former
allows other values and wraps them in a tuple if necessary; it
involves two more levels of C function calls to accomplish all that.)
2002-08-16 17:01:09 +00:00
Raymond Hettinger
48923c5533
Moved special case for tuples from iterobject.c to
...
tupleobject.c. Makes the code in iterobject.c cleaner
and speeds-up the general case by not checking for
tuples everytime. SF Patch #592065 .
2002-08-09 01:30:17 +00:00
Guido van Rossum
613bed3726
Make StopIteration a sink state. This is done by clearing out the
...
object references (it_seq for seqiterobject, it_callable and
it_sentinel for calliterobject) when the end of the list is reached.
Also remove the next() methods -- one is supplied automatically by
PyType_Ready() because the tp_iternext slot is set. That's a good
thing, because the implementation given here was buggy (it never
raised StopIteration).
2002-07-16 20:24:46 +00:00
Raymond Hettinger
14bd6de0ec
SF 560736. Optimize list iteration by filling the tp_iter slot.
2002-05-31 21:40:38 +00:00
Martin v. Löwis
01f94bda38
Patch #552433 : Special-case tuples. Avoid sub-type checking for lists.
...
Avoid checks for negative indices and duplicate checks for support of
the sequence protocol.
2002-05-08 08:44:21 +00:00
Neil Schemenauer
dbf409fbfc
Re-enable GC of iter objects.
2002-03-18 20:43:51 +00:00
Martin v. Löwis
e3eb1f2b23
Patch #427190 : Implement and use METH_NOARGS and METH_O.
2001-08-16 13:15:00 +00:00
Tim Peters
6d6c1a35e0
Merge of descr-branch back into trunk.
2001-08-02 04:15:00 +00:00
Neil Schemenauer
7eac9b72d4
GC for iterator objects.
2001-07-12 13:27:25 +00:00