(original) (raw)
It cannot crash Python; it can only crash
hypothetical third-party programs or libraries with deficient error checking and
unreasonable assumptions about input data.�
The error checking isn't necessarily deficient.� For example, a safe and legitimate thing to do is for third party libraries to throw a C++ exception, raise a Python exception, or delete the half surrogate.� Any of those would break one of the use cases people have been talking about, namely being able to present the output from os.listdir() to the user, say in a file selector, and then access that file.
(and, of course, you haven't even proven those programs or libraries exist)
PEP 383 is a proposal that suggests changing Python such that malformed unicode strings become a required part of Python and such that Pyhon writes illegal UTF-8 encodings to UTF-8 encoded file systems.� Those are big changes, and it's legitimate to ask that PEP 383 address the implications of that choice before it's made.
Tom