cpython/Lib
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
..
asyncio Merge 3.5 (issue #28652) 2016-11-21 17:47:41 -05:00
collections Issue #17941: Add a *module* parameter to collections.namedtuple() 2016-09-12 00:18:31 -07:00
concurrent Issue #27895: Spelling fixes (Contributed by Ville Skyttä). 2016-09-07 12:03:06 +00:00
ctypes Issue #25659: Merge ctypes fix from 3.5 2016-11-20 22:07:29 +00:00
curses
dbm
distutils Issue 26931: Skip the test_distutils tests using a compiler executable 2016-11-17 09:00:19 +01:00
email Merge: #19003: Only replace \r and/or \n line endings in email.generator. 2016-09-11 17:23:33 -04:00
encodings Revert #27959: ImportError within an encoding module should also skip the encoding 2016-09-09 08:56:37 -07:00
ensurepip Merge - upgrade pip/setuptools 2016-11-15 21:18:40 -05:00
html #27364: fix "incorrect" uses of escape character in the stdlib. 2016-09-08 13:59:53 -04:00
http Issue #22493: Inline flags now should be used only at the start of the 2016-09-11 12:50:02 +03:00
idlelib Issue #28572: Use system-specific values for configdialog font test 2016-11-07 23:14:53 -05:00
importlib Issue #23722: improve __classcell__ compatibility 2016-12-05 16:47:55 +10:00
json Fixed the documentation of parse_constant argument in json.load(). 2016-11-12 22:48:33 +02:00
lib2to3 Issue #28394: Merge typo fixes from 3.5 into 3.6 2016-10-10 00:28:38 +00:00
logging Closes #27930: Merged fix from 3.5. 2016-09-08 01:24:12 +01:00
msilib #27364: fix "incorrect" uses of escape character in the stdlib. 2016-09-08 13:59:53 -04:00
multiprocessing Issue #28053: Applying refactorings, docs and other cleanup to follow. 2016-09-09 18:03:10 -05:00
pydoc_data Update pydoc topics for 3.6.0b4 2016-11-21 23:24:38 -05:00
site-packages
sqlite3 Issue #27897: Fixed possible crash in sqlite3.Connection.create_collation() 2016-09-27 00:14:24 +03:00
test Issue #23722: improve __classcell__ compatibility 2016-12-05 16:47:55 +10:00
tkinter Issue #27939: Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused 2016-10-30 18:52:02 +02:00
turtledemo
unittest Fixes issue28380: unittest.mock Mock autospec functions now properly support 2016-10-06 14:31:23 -07:00
urllib Issue #25400: RobotFileParser now correctly returns default values for crawl_delay and request_rate 2016-09-18 20:17:58 +03:00
venv Closes #25671: Merged fix from 3.5. 2016-09-11 12:52:53 +01:00
wsgiref
xml Issue #26182: Raise DeprecationWarning for improper use of async/await keywords 2016-09-15 12:50:23 -04:00
xmlrpc Issue #26885: xmlrpc now supports unmarshalling additional data types used 2016-09-11 11:23:38 +03:00
__future__.py
__phello__.foo.py
_bootlocale.py
_collections_abc.py Issue #28720: Add collections.abc.AsyncGenerator. 2016-11-16 18:25:04 -05:00
_compat_pickle.py Issue #15767: Add ModuleNotFoundError. 2016-09-07 15:42:32 -07:00
_compression.py
_dummy_thread.py
_markupbase.py
_osx_support.py #27364: fix "incorrect" uses of escape character in the stdlib. 2016-09-08 13:59:53 -04:00
_pydecimal.py Issue #27348: Merge exception formatting fix from 3.5 into 3.6 2016-09-22 10:33:21 +00:00
_pyio.py
_sitebuiltins.py
_strptime.py
_threading_local.py
_weakrefset.py
abc.py
aifc.py
antigravity.py Issue #28181: Get antigravity over HTTPS. Patch by Kaartic Sivaraam. 2016-09-16 13:48:10 +02:00
argparse.py Issue #12713: reverted fix pending further discussion. 2016-08-23 08:43:16 +01:00
ast.py
asynchat.py Issue #25002: Back out asyncore/asynchat deprecation. 2016-10-25 18:42:51 -07:00
asyncore.py Issue #25002: Back out asyncore/asynchat deprecation. 2016-10-25 18:42:51 -07:00
base64.py Use sequence repetition instead of bytes constructor with integer argument. 2016-09-11 14:41:02 +03:00
bdb.py
binhex.py
bisect.py
bz2.py Issue #28225: bz2 module now supports pathlib 2016-10-02 20:07:06 +03:00
calendar.py Issue #28255: calendar.TextCalendar().prmonth() no longer prints a space 2016-10-25 15:02:36 +03:00
cgi.py
cgitb.py
chunk.py
cmd.py
code.py Issue #27573 make the exit message configurable. 2016-08-24 01:42:15 +10:00
codecs.py
codeop.py
colorsys.py
compileall.py Issue #28485: Merge single-threading fix from 3.5 into 3.6 2016-11-05 01:35:25 +00:00
configparser.py Fixes #24142: [configparser] always join multiline values to not leave the parser in an invalid state 2016-11-26 14:00:39 -08:00
contextlib.py
copy.py
copyreg.py
cProfile.py
crypt.py
csv.py Issue #18219: Optimize csv.DictWriter for large number of columns. 2016-10-21 19:47:57 +09:00
datetime.py Issue #28752: Restored the __reduce__() methods of datetime objects. 2016-11-22 00:29:42 +02:00
decimal.py
difflib.py #27364: fix "incorrect" uses of escape character in the stdlib. 2016-09-08 13:59:53 -04:00
dis.py Issue #28317: The disassembler now decodes FORMAT_VALUE argument. 2016-10-08 12:34:25 +03:00
doctest.py #27364: fix "incorrect" uses of escape character in the stdlib. 2016-09-08 13:59:53 -04:00
dummy_threading.py
enum.py close issue28172: Change all example enum member names to uppercase, per Guido; patch by Chris Angelico. 2016-11-21 09:22:05 -08:00
filecmp.py
fileinput.py
fnmatch.py Issue #22493: Inline flags now should be used only at the start of the 2016-09-11 12:50:02 +03:00
formatter.py
fractions.py Issue #27832: Make _normalize parameter to Fraction.__init__ keyword-only. 2016-08-23 16:16:52 +01:00
ftplib.py Issue #28022: Deprecate ssl-related arguments in favor of SSLContext. 2016-09-10 23:23:33 +02:00
functools.py Issue #27137: align Python & C implementations of functools.partial 2016-09-10 20:00:02 +10:00
genericpath.py Issue #26027, #27524: Add PEP 519/__fspath__() support to os and 2016-08-26 14:44:48 -07:00
getopt.py
getpass.py
gettext.py Issue #28563: Make plural form selection more lenient and accepting 2016-11-14 19:29:59 +02:00
glob.py Issue #27998: Removed workarounds for supporting bytes paths on Windows in 2016-10-05 23:17:10 +03:00
gzip.py Issue #28227: gzip now supports pathlib 2016-10-02 13:47:58 +03:00
hashlib.py Issue #16113: Add SHA-3 and SHAKE support to hashlib module. 2016-09-07 11:58:24 +02:00
heapq.py
hmac.py Use sequence repetition instead of bytes constructor with integer argument. 2016-09-11 14:41:02 +03:00
imaplib.py Issue #28022: Deprecate ssl-related arguments in favor of SSLContext. 2016-09-10 23:23:33 +02:00
imghdr.py Issue #28228: imghdr now supports pathlib 2016-10-01 05:01:54 +03:00
imp.py
inspect.py Issue #27172: Undeprecate inspect.getfullargspec() 2016-12-02 20:29:57 +10:00
io.py Issue #1602: Windows console doesn't input or print Unicode (PEP 528) 2016-08-30 21:22:36 -07:00
ipaddress.py
keyword.py
linecache.py
locale.py
lzma.py Issue #28229: lzma module now supports pathlib 2016-10-04 20:41:20 +03:00
macpath.py
macurl2path.py
mailbox.py
mailcap.py #14977: Make mailcap respect the order of the lines in the mailcap file. 2016-09-09 20:04:23 -04:00
mimetypes.py
modulefinder.py
netrc.py
nntplib.py
ntpath.py Issue #27355: Removed support for Windows CE. It was never finished, 2016-09-05 15:11:23 -07:00
nturl2path.py
numbers.py
opcode.py Issue #28257: Improved error message when pass a non-iterable as 2016-10-02 10:33:46 +03:00
operator.py
optparse.py
os.py Fixes empty tuple case. 2016-11-19 21:14:27 -08:00
pathlib.py Issue #19717: Makes Path.resolve() succeed on paths that do not exist (patch by Vajrasky Kok) 2016-11-09 12:58:17 -08:00
pdb.py Issue #20766: Merge with 3.5. 2016-10-12 20:16:05 +02:00
pickle.py
pickletools.py Use sequence repetition instead of bytes constructor with integer argument. 2016-09-11 14:41:02 +03:00
pipes.py
pkgutil.py Issue #17211: Yield a namedtuple in pkgutil. 2016-09-07 18:37:17 -07:00
platform.py Issue #27932: Prevent memory leak in win32_ver(). 2016-09-17 17:27:48 -07:00
plistlib.py Issue #28321: Fixed writing non-BMP characters with binary format in plistlib. 2016-10-04 20:08:29 +03:00
poplib.py Issue #28022: Deprecate ssl-related arguments in favor of SSLContext. 2016-09-10 23:23:33 +02:00
posixpath.py Issue #26027, #27524: Add PEP 519/__fspath__() support to os and 2016-08-26 14:44:48 -07:00
pprint.py
profile.py
pstats.py
pty.py
py_compile.py
pyclbr.py
pydoc.py Issue #15767: Use ModuleNotFoundError. 2016-09-07 16:56:15 -07:00
queue.py
quopri.py
random.py Issue 28475: Improve error message for random.sample() with k < 0. (Contributed by Francisco Couzo). 2016-11-21 14:34:33 -08:00
re.py Issue #28637: Reapply changeset 223731925d06 2016-11-14 12:35:55 +01:00
reprlib.py
rlcompleter.py
runpy.py [backport to 3.5] - issue26896 - Disambiguate uses of "importer" with "finder". 2016-09-07 00:52:20 -07:00
sched.py Issue #5830: Remove old comment. Add empty slots. 2016-10-24 07:31:55 -07:00
secrets.py
selectors.py Issue #27759: Fix selectors incorrectly retain invalid file descriptors. 2016-10-06 14:03:03 -04:00
shelve.py
shlex.py
shutil.py Issue #28488: shutil.make_archive() no longer adds entry "./" to ZIP archive. 2016-10-23 15:57:42 +03:00
signal.py
site.py Issue #28637: No longer use re in site.py. 2016-11-08 20:17:35 +02:00
smtpd.py
smtplib.py Issue #28022: Deprecate ssl-related arguments in favor of SSLContext. 2016-09-10 23:23:33 +02:00
sndhdr.py
socket.py Issue #26384: Merge from 3.5 2016-09-17 23:23:13 +03:00
socketserver.py
sre_compile.py Issue #433028: Added support of modifier spans in regular expressions. 2016-09-10 00:57:55 +03:00
sre_constants.py
sre_parse.py Issue #25953: re.sub() now raises an error for invalid numerical group 2016-10-23 12:11:19 +03:00
ssl.py Issue #28085: Add PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER for SSLContext 2016-09-12 00:01:11 +02:00
stat.py
statistics.py Issue #27181 remove geometric_mean and defer for 3.7. 2016-10-05 03:24:45 +11:00
string.py #27364: fix "incorrect" uses of escape character in the stdlib. 2016-09-08 13:59:53 -04:00
stringprep.py
struct.py
subprocess.py Issue #20572: The subprocess.Popen.wait method's undocumented endtime 2016-11-20 16:25:14 -08:00
sunau.py
symbol.py Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations. 2016-09-08 20:50:03 -07:00
symtable.py Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations. 2016-09-08 20:50:03 -07:00
sysconfig.py Issue #28046: get_sysconfigdata_name() uses the _PYTHON_SYSCONFIGDATA_NAME 2016-09-11 22:22:24 +02:00
tabnanny.py
tarfile.py Issue #28449: tarfile.open() with mode "r" or "r:" now tries to open a tar 2016-10-30 20:56:23 +02:00
telnetlib.py
tempfile.py
textwrap.py Issue #20491: The textwrap.TextWrapper class now honors non-breaking spaces. 2016-10-25 14:44:54 +03:00
this.py
threading.py
timeit.py
token.py
tokenize.py Issue #26331: Implement the parsing part of PEP 515. 2016-09-09 14:57:09 -07:00
trace.py
traceback.py Issue #27348: Merge exception formatting fix from 3.5 into 3.6 2016-09-22 10:33:21 +00:00
tracemalloc.py
tty.py
turtle.py Correct spelling in documentation and code comment 2016-09-10 10:38:28 +00:00
types.py Issue #28003: Implement PEP 525 -- Asynchronous Generators. 2016-09-08 22:01:51 -07:00
typing.py Issue #28790: Fix error when using Generic and __slots__ (Ivan L) 2016-11-29 09:46:21 -08:00
uu.py
uuid.py
warnings.py
wave.py
weakref.py
webbrowser.py Issue #23262: The webbrowser module now supports Firefox 36+ and derived 2016-10-30 19:16:33 +02:00
xdrlib.py
zipapp.py
zipfile.py Issue #26293: Fixed writing ZIP files that starts not from the start of the 2016-10-07 22:24:20 +03:00