Issue #18449: Make Tools/demo/ss1.py work again on Python 3.  Patch by
F?vry Thibault.
Issue #18449: Make Tools/demo/ss1.py work again on Python 3.  Patch by
F?vry Thibault.
Close issue 17482: don't overwrite __wrapped__
Issue #18344: Fix potential ref-leaks in _bufferedreader_read_all().
Issue #18344: Fix potential ref-leaks in _bufferedreader_read_all().
Closes #18464: fix typo in test name.
Merge: Closes #18464: fix typo in test name.
Issue #18393: Remove use of deprecated API on OSX

The "Gestalt" function on OSX is deprecated (starting with OSX 10.8),
remove its usage from the stdlib. The patch removes a number of private
functions and a private module, but does not change the public API.

The removed code was effectively dead, the platform module has used
other code to fetch the OSX version for years and could only use
on the Gestalt-based code as a fallback. That fallback can only trigger
on broken OSX installs (that is, someone has removed parts of the system
install)
- Issue #18440: Clarify that `hash()` can truncate the value returned from an
  object's custom `__hash__()` method.
- Issue #18440: Clarify that `hash()` can truncate the value returned from an
  object's custom `__hash__()` method.
Issue #18408: Fix pyexpat.ParserCreate()

Check if XML_ParserCreate_MM() failed (ex: MemoryError) before using
self->itself.
Issue #18408: Fix CJK decoders, raise MemoryError on memory allocation failure
Issue #18408: PyObject_Call() now fails with an assertion error in debug mode
if the function called failed whereas no exception was raised, to detect bugs
earlier.
Issue #18408: Don't check unicode consistency in _PyUnicode_HAS_UTF8_MEMORY()
and _PyUnicode_HAS_WSTR_MEMORY() macros

These macros are called in unicode_dealloc(), whereas the unicode object can be
"inconsistent" if the creation of the object failed.

For example, when unicode_subtype_new() fails on a memory allocation,
_PyUnicode_CheckConsistency() fails with an assertion error because data is
NULL.
Issue #18408: type_new() and PyType_FromSpecWithBases() now raise MemoryError
on memory allocation failure
test_io: check_interrupted_write() now cancels the alarm if ZeroDivisionError
exception was not raised.

Before the process was killed by SIGALRM in another random test (1 second later)
Issue #18408: random_seed() now raises a MemoryError on memory allocation
failure
Issue #18408: Fix PyEval_EvalFrameEx() for MemoryError

Don't pass a NULL traceback to PyException_SetTraceback(): pass Py_None.
Passing NULL would raise a new exception.