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 Issue #27294: Numerical state in the repr for Tkinter event objects is now 2016-06-18 22:08:11 +03:00
dbm Issue #21708: Deprecated dbm.dumb behavior that differs from common dbm 2016-07-06 12:21:58 +03:00
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 Merge with 3.5. 2015-10-06 18:52:52 +03:00
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 Issue #27117: Make ColorDelegator htest and turtledemo work with dark theme. 2016-05-29 01:40:30 -04:00
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 Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
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 PEP 479: Change StopIteration handling inside generators. 2015-05-09 11:44:30 -04:00
__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 Issue #23529: Limit the size of decompressed data when reading from 2015-04-11 00:31:01 +02:00
_dummy_thread.py Issue 21137: Better repr for threading.Lock() 2014-05-25 18:22:35 -07:00
_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 Drop unused import 2016-06-12 01:56:50 +00:00
_sitebuiltins.py #9364: Improve the text printed by help(pydoc) and help(help). 2014-04-19 12:59:30 -04:00
_strptime.py Issue #23718: Fixed parsing time in week 0 before Jan 1. Original patch by 2016-03-12 10:53:09 +02:00
_threading_local.py
_weakrefset.py
abc.py Issue #22032: __qualname__ instead of __name__ is now always used to format 2014-07-22 15:00:37 +03:00
aifc.py Issue #24878: Fix typos and line wrap 2015-08-23 11:28:01 -07:00
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 Add ast.Constant 2016-01-26 00:40:57 +01:00
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 Issue #23865: close() methods in multiple modules now are idempotent and more 2015-04-10 13:29:28 +03:00
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 Issue #27105: Add cgi.test() to __all__, based on Jacek Kołodziej’s patch 2016-06-06 01:53:28 +00:00
cgitb.py Issue #22831: Use "with" to avoid possible fd leaks. 2015-04-04 11:01:02 +03:00
chunk.py Issue #25523: Correct "a" article to "an" article 2015-11-02 03:37:02 +00:00
cmd.py
code.py Issue #27573 make the exit message configurable. 2016-08-24 01:42:15 +10:00
codecs.py Issue #25523: Merge "a" to "an" fixes from 3.4 into 3.5 2015-11-02 04:04:57 +00:00
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 Issue #27123: When an exception is raised within the context being 2016-06-14 09:24:31 -07:00
copy.py Issue #26167: Minimized overhead in copy.copy() and copy.deepcopy(). 2016-03-06 14:56:57 +02:00
copyreg.py
cProfile.py
crypt.py Issue #25287: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not 2015-10-02 23:00:39 +02:00
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 Issue #23641: Cleaned out legacy dunder names from tests and docs. 2015-03-12 21:56:08 +02:00
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 shallow defaults to 'True' not '1' (closes #21355) 2014-04-26 13:36:21 -04:00
fileinput.py Issue #25788: fileinput.hook_encoded() now supports an "errors" argument 2016-04-27 23:13:46 +03:00
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 Issue #25407: Drop the mention of the formatter module being removed 2015-10-16 12:09:33 -07:00
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 Issue #25523: Correct "a" article to "an" article 2015-11-02 03:37:02 +00:00
getpass.py remove duplicated imports (closes #25502) 2015-10-28 23:15:13 -07:00
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 Correct “an” → “a” with “Unicode”, “user”, “UTF”, etc 2016-04-15 02:14:19 +00:00
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 Merge for #26844 2016-07-15 10:59:11 -07:00
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 Issue #20508: Improve exception message of IPv{4,6}Network.__getitem__ 2016-06-11 22:30:05 +03:00
keyword.py
linecache.py Issue #23838: linecache now clears the cache and returns an empty result on 2015-04-01 16:56:13 +03:00
locale.py Issue #27076: Merge spelling from 3.5 2016-05-26 06:03:19 +00:00
lzma.py Issue #28229: lzma module now supports pathlib 2016-10-04 20:41:20 +03:00
macpath.py Issue #23780: Improved error message in os.path.join() with single argument. 2015-05-19 11:00:07 +03:00
macurl2path.py
mailbox.py Issue #27107: Add exception classes to mailbox.__all__, by Jacek Kołodziej 2016-06-06 01:56:09 +00:00
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 Issue #27108: Add missing names to mimetypes.__all__, by Jacek Kołodziej 2016-06-06 01:59:19 +00:00
modulefinder.py Issue #26881: Restored the name of scan_opcodes_25(). 2016-05-11 22:19:49 +03:00
netrc.py
nntplib.py Correct “an” → “a” with “Unicode”, “user”, “UTF”, etc 2016-04-15 02:14:19 +00:00
ntpath.py Issue #27355: Removed support for Windows CE. It was never finished, 2016-09-05 15:11:23 -07:00
nturl2path.py Issue21160: Correct comments in nturl2path. Patch by Jurko Gospodnetić. 2015-10-24 17:39:36 +03:00
numbers.py Issue #21408: The default __ne__() now returns NotImplemented if __eq__() 2015-01-26 09:57:07 +02:00
opcode.py Issue #28257: Improved error message when pass a non-iterable as 2016-10-02 10:33:46 +03:00
operator.py Issue #24379: Revert the operator.subscript patch (dccc4e63aef5) pending resolution of the related refcnt leak. 2015-11-02 00:39:56 -05:00
optparse.py Merge doc and comment fixes from 3.5 2016-04-19 23:23:16 +00:00
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 Issue #17711: Fixed unpickling by the persistent ID with protocol 0. 2016-07-17 11:35:35 +03:00
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 Issue #26778: Fixed "a/an/and" typos in code comment and documentation. 2016-04-17 08:32:47 +03:00
profile.py
pstats.py Issue #27241: Catch exception when running pstats as main. 2016-08-02 22:30:24 +02:00
pty.py
py_compile.py Issue #23911: Move path-based bootstrap code to a separate frozen module. 2015-05-02 19:15:18 -06:00
pyclbr.py Removed unused imports. 2016-04-25 00:12:32 +03:00
pydoc.py Issue #15767: Use ModuleNotFoundError. 2016-09-07 16:56:15 -07:00
queue.py Issue #22043: time.monotonic() is now always available 2014-09-02 23:18:25 +02:00
quopri.py Issue #23681: Fixed Python 2 to 3 poring bugs. 2015-03-20 16:46:19 +02:00
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 Issue #26634: recursive_repr() now sets __qualname__ of wrapper. 2016-04-26 09:30:44 +03:00
rlcompleter.py Merge 3.5 2016-02-04 14:08:23 -05:00
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 Shorten secrets module docstring, add function docstrings. 2016-04-17 13:13:36 +10:00
selectors.py Issue #27759: Fix selectors incorrectly retain invalid file descriptors. 2016-10-06 14:03:03 -04:00
shelve.py Issue #23865: close() methods in multiple modules now are idempotent and more 2015-04-10 13:24:41 +03:00
shlex.py Closes #21999: Handled empty strings correctly when in POSIX mode. 2016-08-09 15:04:49 +01:00
shutil.py Issue #28488: shutil.make_archive() no longer adds entry "./" to ZIP archive. 2016-10-23 15:57:42 +03:00
signal.py Issue #25523: Further a-to-an corrections new in 3.5 2015-11-02 04:20:33 +00:00
site.py Issue #28637: No longer use re in site.py. 2016-11-08 20:17:35 +02:00
smtpd.py Issue #27110: Add smtpd.SMTPChannel to __all__, by Jacek Kołodziej 2016-06-06 02:03:11 +00:00
smtplib.py Issue #28022: Deprecate ssl-related arguments in favor of SSLContext. 2016-09-10 23:23:33 +02:00
sndhdr.py Issue #24878: Add docstrings to selected namedtuples 2015-08-17 22:04:45 -07:00
socket.py Issue #26384: Merge from 3.5 2016-09-17 23:23:13 +03:00
socketserver.py Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
sre_compile.py Issue #433028: Added support of modifier spans in regular expressions. 2016-09-10 00:57:55 +03:00
sre_constants.py Issue #22831: Use "with" to avoid possible fd leaks. 2015-04-04 11:01:02 +03:00
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 Issue #21741: Add st_file_attributes to os.stat_result on Windows. 2014-06-19 09:46:37 -05:00
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 Corrected docstrings of audio modules. writeframes() accepts bytes, not str. 2015-07-10 22:13:40 +03:00
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 #25485: Add context manager support to Telnet class. 2015-11-28 12:24:52 -05:00
tempfile.py Add a source parameter to warnings.warn() 2016-03-23 00:28:08 +01:00
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 Merge spelling and grammar fixes from 3.5 2016-08-05 01:51:39 +00:00
timeit.py Issue6422 add autorange method to timeit.Timer 2016-08-15 01:27:03 +10:00
token.py PEP 0492 -- Coroutines with async and await syntax. Issue #24017. 2015-05-11 22:57:16 -04:00
tokenize.py Issue #26331: Implement the parsing part of PEP 515. 2016-09-09 14:57:09 -07:00
trace.py More typo fixes for 3.6 2016-06-04 05:06:25 +00:00
traceback.py Issue #27348: Merge exception formatting fix from 3.5 into 3.6 2016-09-22 10:33:21 +00:00
tracemalloc.py tracemalloc now supports domains 2016-03-22 12:58:23 +01:00
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 Removed unused imports. 2016-04-25 00:12:32 +03:00
warnings.py Issue #18383: Merge warnings fix from 3.5 2016-05-26 09:39:41 +00:00
wave.py Issue #23883: Add missing APIs to __all__; patch by Jacek Kołodziej 2015-11-14 12:46:42 +00:00
weakref.py Issue #22958: Constructor and update method of weakref.WeakValueDictionary 2015-09-29 23:52:42 +03:00
webbrowser.py Issue #23262: The webbrowser module now supports Firefox 36+ and derived 2016-10-30 19:16:33 +02:00
xdrlib.py Issue #11694: Raise ConversionError in xdrlib as documented 2014-10-10 21:21:52 +03:00
zipapp.py Issue #26778: Fixed "a/an/and" typos in code comment and documentation. 2016-04-17 08:32:47 +03:00
zipfile.py Issue #26293: Fixed writing ZIP files that starts not from the start of the 2016-10-07 22:24:20 +03:00