summaryrefslogtreecommitdiffstats
path: root/Misc
diff options
context:
space:
mode:
authorTim Peters <tim.peters@gmail.com>2002-11-12 22:08:10 (GMT)
committerTim Peters <tim.peters@gmail.com>2002-11-12 22:08:10 (GMT)
commitb9099c3df495d4bf0090d7a751325343852b61db (patch)
tree02605a750bc4b07c663d01ee61cc75755ab26c67 /Misc
parent4b9ed2f346921353b34a99332d9efd6ddce3a28b (diff)
downloadcpython-b9099c3df495d4bf0090d7a751325343852b61db.zip
cpython-b9099c3df495d4bf0090d7a751325343852b61db.tar.gz
cpython-b9099c3df495d4bf0090d7a751325343852b61db.tar.bz2
SF patch 637176: list.sort crasher
Armin Rigo's Draconian but effective fix for SF bug 453523: list.sort crasher slightly fiddled to catch more cases of list mutation. The dreaded internal "immutable list type" is gone! OTOH, if you look at a list *while* it's being sorted now, it will appear to be empty. Better than a core dump.
Diffstat (limited to 'Misc')
-rw-r--r--Misc/NEWS12
1 files changed, 11 insertions, 1 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index addd5ae..334a1b3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -66,6 +66,16 @@ Type/class unification and new-style classes
Core and builtins
-----------------
+- Thanks to Armin Rigo, the last known way to provoke a system crash
+ by cleverly arranging for a comparison function to mutate a list
+ during a list.sort() operation has been fixed. The effect of
+ attempting to mutate a list, or even to inspect its contents or
+ length, while a sort is in progress, is not defined by the language.
+ The C implementation of Python 2.3 attempts to detect mutations,
+ and raise ValueError if one occurs, but there's no guarantee that
+ all mutations will be caught, or that any will be caught across
+ releases or implementations.
+
- Unicode file name processing for Windows (PEP 277) is implemented.
All platforms now have an os.path.supports_unicode_filenames attribute,
which is set to True on Windows NT/2000/XP, and False elsewhere.
@@ -428,7 +438,7 @@ Library
- Added operator.pow(a,b) which is equivalent to a**b.
- Added random.sample(population,k) for random sampling without replacement.
- Returns a k length list of unique elements chosen from the population.
+ Returns a k length list of unique elements chosen from the population.
- random.randrange(-sys.maxint-1, sys.maxint) no longer raises
OverflowError. That is, it now accepts any combination of 'start'