[Python-checkins] python/dist/src/Misc NEWS,1.519,1.520

tim_one@users.sourceforge.net tim_one@users.sourceforge.net
Tue, 12 Nov 2002 14:08:12 -0800


Update of /cvsroot/python/python/dist/src/Misc
In directory usw-pr-cvs1:/tmp/cvs-serv19759/python/Misc

Modified Files:
	NEWS 
Log Message:
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.


Index: NEWS
===================================================================
RCS file: /cvsroot/python/python/dist/src/Misc/NEWS,v
retrieving revision 1.519
retrieving revision 1.520
diff -C2 -d -r1.519 -r1.520
*** NEWS	12 Nov 2002 17:41:56 -0000	1.519
--- NEWS	12 Nov 2002 22:08:09 -0000	1.520
***************
*** 67,70 ****
--- 67,80 ----
  -----------------
  
+ - 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,
***************
*** 429,433 ****
  
  - Added random.sample(population,k) for random sampling without replacement.
!   Returns a k length list of unique elements chosen from the population.								    
  
  - random.randrange(-sys.maxint-1, sys.maxint) no longer raises
--- 439,443 ----
  
  - Added random.sample(population,k) for random sampling without replacement.
!   Returns a k length list of unique elements chosen from the population.
  
  - random.randrange(-sys.maxint-1, sys.maxint) no longer raises