• Armin Rigo's avatar
    * drop the unreasonable list invariant that ob_item should never come back · 93677f07
    Armin Rigo yazdı
      to NULL during the lifetime of the object.
    
    * listobject.c nevertheless did not conform to the other invariants,
      either; fixed.
    
    * listobject.c now uses list_clear() as the obvious internal way to clear
      a list, instead of abusing list_ass_slice() for that.  It makes it easier
      to enforce the invariant about ob_item == NULL.
    
    * listsort() sets allocated to -1 during sort; any mutation will set it
      to a value >= 0, so it is a safe way to detect mutation.  A negative
      value for allocated does not cause a problem elsewhere currently.
      test_sort.py has a new test for this fix.
    
    * listsort() leak: if items were added to the list during the sort, AND if
      these items had a __del__ that puts still more stuff into the list,
      then this more stuff (and the PyObject** array to hold them) were
      overridden at the end of listsort() and never released.
    93677f07
Adı
Son kayıt (commit)
Son güncelleme
..
.cvsignore Loading commit data...
abstract.c Loading commit data...
boolobject.c Loading commit data...
bufferobject.c Loading commit data...
cellobject.c Loading commit data...
classobject.c Loading commit data...
cobject.c Loading commit data...
complexobject.c Loading commit data...
descrobject.c Loading commit data...
dictnotes.txt Loading commit data...
dictobject.c Loading commit data...
enumobject.c Loading commit data...
fileobject.c Loading commit data...
floatobject.c Loading commit data...
frameobject.c Loading commit data...
funcobject.c Loading commit data...
genobject.c Loading commit data...
intobject.c Loading commit data...
iterobject.c Loading commit data...
listobject.c Loading commit data...
listsort.txt Loading commit data...
longobject.c Loading commit data...
methodobject.c Loading commit data...
moduleobject.c Loading commit data...
object.c Loading commit data...
obmalloc.c Loading commit data...
rangeobject.c Loading commit data...
setobject.c Loading commit data...
sliceobject.c Loading commit data...
stringobject.c Loading commit data...
structseq.c Loading commit data...
tupleobject.c Loading commit data...
typeobject.c Loading commit data...
unicodectype.c Loading commit data...
unicodeobject.c Loading commit data...
unicodetype_db.h Loading commit data...
weakrefobject.c Loading commit data...