• Martin v. Löwis's avatar
    Make identifiers str (not str8) objects throughout. · 5b222135
    Martin v. Löwis yazdı
    This affects the parser, various object implementations,
    and all places that put identifiers into C string literals.
    
    In testing, a number of crashes occurred as code would
    fail when the recursion limit was reached (such as the
    Unicode interning dictionary having key/value pairs where
    key is not value). To solve these, I added an overflowed
    flag, which allows for 50 more recursions after the
    limit was reached and the exception was raised, and
    a recursion_critical flag, which indicates that recursion
    absolutely must be allowed, i.e. that a certain call
    must not cause a stack overflow exception.
    
    There are still some places where both str and str8 are
    accepted as identifiers; these should eventually be
    removed.
    5b222135
pystate.h 6.26 KB