• Tim Peters's avatar
    Fix obscure breakage (relative to 2.3) in listsort: the test for list · 51b4ade3
    Tim Peters authored
    mutation during list.sort() used to rely on that listobject.c always
    NULL'ed ob_item when ob_size fell to 0.  That's no longer true, so the
    test for list mutation during a sort is no longer reliable.  Changed the
    test to rely instead on that listobject.c now never NULLs-out ob_item
    after (if ever) ob_item gets a non-NULL value.  This new assumption is
    also documented now, as a required invariant in listobject.h.
    
    The new assumption allowed some real simplification to some of the
    hairier code in listsort(), so is a Good Thing on that count.
    51b4ade3
listobject.h 2.35 KB