[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Mark Dickinson
Changes by Mark Dickinson : -- nosy: +mark.dickinson ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe: http://mai

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Nick Coghlan
Changes by Nick Coghlan : -- resolution: -> accepted stage: -> committed/rejected status: open -> closed ___ Python tracker ___ ___

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Nick Coghlan
Nick Coghlan added the comment: Committed as r87948. I added a few large_range tests to those in the patch. I checked that IndexError is raised when appropriate, as well as a specific test for the combination of a large range with a large negative step. -- __

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Georg Brandl
Georg Brandl added the comment: It's a moderate chunk of code, but lots of new tests... I'd say go for it. -- ___ Python tracker ___

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Nick Coghlan
Nick Coghlan added the comment: Oh, and to explain my negative comment from earlier: that was my reaction when I realised I also needed to write PyLong versions of _PyEval_SliceIndex and PySlice_GetIndicesEx to make range slicing with large integers work properly. As it turned out, the end re

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Nick Coghlan
Nick Coghlan added the comment: Attached patch moves range indexing and slicing over to PyLong and updates the tests accordingly. Georg, I think this really makes the large range story far more usable - if you're OK with it, I would like to check it in this week so it lands in 3.2. -

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Nick Coghlan
Nick Coghlan added the comment: Having started work on this, the code changes are probably too significant to consider adding it to 3.2 at this late stage. Writing my own slice interpretation support which avoids the ssize_t limit is an interesting exercise :) -- versions: +Python 3.

[issue10889] Fix range slicing and indexing to handle lengths > sys.maxsize

2011-01-11 Thread Nick Coghlan
New submission from Nick Coghlan : Enhancement to range to correctly handle indexing and slicing when len(x) raises OverflowError. Note that this enables correct calculation of the length of such ranges via: def _range_len(x): try: length = len(x)