cpython/Python
Nick Coghlan 19d246745d Issue #23722: improve __classcell__ compatibility
Handling zero-argument super() in __init_subclass__ and
__set_name__ involved moving __class__ initialisation to
type.__new__. This requires cooperation from custom
metaclasses to ensure that the new __classcell__ entry
is passed along appropriately.

The initial implementation of that change resulted in abruptly
broken zero-argument super() support in metaclasses that didn't
adhere to the new requirements (such as Django's metaclass for
Model definitions).

The updated approach adopted here instead emits a deprecation
warning for those cases, and makes them work the same way they
did in Python 3.5.

This patch also improves the related class machinery documentation
to cover these details and to include more reader-friendly
cross-references and index entries.
2016-12-05 16:47:55 +10:00
..
clinic Issue #27810: Rerun Argument Clinic on all modules 2016-09-09 20:00:13 -07:00
Python-ast.c Issue #24098: Fixed possible crash when AST is changed in process of 2016-10-07 21:55:49 +03:00
README
_warnings.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:19:20 +02:00
asdl.c replace PY_SIZE_MAX with SIZE_MAX 2016-09-07 09:26:18 -07:00
ast.c Issue #28715: Added error checks for PyUnicode_AsUTF8(). 2016-11-20 08:48:07 +02:00
bltinmodule.c Issue #23722: improve __classcell__ compatibility 2016-12-05 16:47:55 +10:00
ceval.c Fix _PyGen_yf() 2016-11-24 22:33:01 +01:00
ceval_gil.h replace Py_(u)intptr_t with the c99 standard types 2016-09-06 13:47:26 -07:00
codecs.c Correct “an” → “a” with “Unicode”, “user”, “UTF”, etc 2016-04-15 02:14:19 +00:00
compile.c Issue #23722: improve __classcell__ compatibility 2016-12-05 16:47:55 +10:00
condvar.h Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-09-07 12:03:06 +00:00
dtoa.c dtoa.c: remove code for platforms with 64-bit integers (#17884) 2016-09-06 12:44:21 -07:00
dup2.c
dynamic_annotations.c
dynload_aix.c
dynload_dl.c
dynload_hpux.c
dynload_next.c
dynload_shlib.c
dynload_stub.c
dynload_win.c
errors.c Issue #28701: Replace _PyUnicode_CompareWithId with _PyUnicode_EqualToASCIIId. 2016-11-16 15:41:11 +02:00
fileutils.c Issue #28746: Fix the set_inheritable() file descriptor method on platforms 2016-11-19 16:19:29 +01:00
formatter_unicode.c merge 3.5 (#28119) 2016-09-13 22:46:15 -07:00
frozen.c Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode. 2016-05-24 09:15:14 +03:00
frozenmain.c
future.c Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize 2016-11-20 09:13:07 +02:00
getargs.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:19:20 +02:00
getcompiler.c
getcopyright.c
getopt.c
getplatform.c
getversion.c
graminit.c Issue #28008: Implement PEP 530 -- asynchronous comprehensions. 2016-09-09 10:36:01 -07:00
import.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:19:20 +02:00
importdl.c Issue #28715: Added error checks for PyUnicode_AsUTF8(). 2016-11-20 08:48:07 +02:00
importdl.h
importlib.h Issue #28517: Fixed of-by-one error in the peephole optimizer that caused 2016-10-25 09:30:43 +03:00
importlib_external.h Issue #23722: improve __classcell__ compatibility 2016-12-05 16:47:55 +10:00
makeopcodetargets.py makeopcodetargets.py: we need to import Lib/opcode.py 2016-03-26 01:04:37 +01:00
marshal.c Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
modsupport.c va_end() all va_copy()ed va_lists. 2016-09-21 11:37:27 +02:00
mysnprintf.c
mystrtoul.c
opcode_targets.h Issue #28257: Improved error message when pass a non-iterable as 2016-10-02 10:33:46 +03:00
peephole.c Issue #28517: Fixed of-by-one error in the peephole optimizer that caused 2016-10-25 09:30:43 +03:00
pyarena.c
pyctype.c
pyfpe.c
pyhash.c Issue #28126: Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize memcpy(). 2016-09-13 20:22:02 +02:00
pylifecycle.c Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize 2016-11-20 09:13:07 +02:00
pymath.c
pystate.c remove ceval timestamp support 2016-09-09 14:57:58 -07:00
pystrcmp.c
pystrhex.c
pystrtod.c Issue #26331: Implement the parsing part of PEP 515. 2016-09-09 14:57:09 -07:00
pythonrun.c Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize 2016-11-20 09:13:07 +02:00
pytime.c Issue #28148: Stop using localtime() and gmtime() in the time module. 2016-09-28 17:31:35 -04:00
random.c Issue #28676: merge from 3.5 2016-11-12 16:38:03 -05:00
sigcheck.c
strdup.c
structmember.c Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize 2016-11-20 09:13:07 +02:00
symtable.c Issue #28701: Replace PyUnicode_CompareWithASCIIString with _PyUnicode_EqualToASCIIString. 2016-11-16 10:19:20 +02:00
sysmodule.c Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize 2016-11-20 09:13:07 +02:00
thread.c
thread_foobar.h
thread_nt.h replace PY_LONG_LONG with long long 2016-09-06 10:46:49 -07:00
thread_pthread.h
traceback.c Issue #23782: Fixed possible memory leak in _PyTraceback_Add() and exception 2016-10-18 13:26:25 +03:00
wordcode_helpers.h Issue #27129: Replaced wordcode related magic constants with macros. 2016-09-11 13:48:15 +03:00

README

Miscellaneous source files for the main Python shared library