Staging
v0.5.2
https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
493bf1c bpo-38870: Don't start generated output with newlines in ast.unparse (GH-19636) 03 May 2020, 17:11:51 UTC
3dd2157 Simplify set entry insertion logic. (GH-19881) 03 May 2020, 11:51:05 UTC
21893fb bpo-29587: allow chaining NULL exceptions in _gen_throw() (GH-19877) This is a follow-up to GH-19823 that removes the check that the exception value isn't NULL, prior to calling _PyErr_ChainExceptions(). This enables implicit exception chaining for gen.throw() in more circumstances. The commit also adds a test that a particular code snippet involving gen.throw() doesn't crash. The test shows why the new `gi_exc_state.exc_type != Py_None` check that was added is necessary. Without the new check, the code snippet (as well as a number of other tests) crashes on certain platforms (e.g. Fedora but not Mac). 03 May 2020, 07:07:57 UTC
0400a7f Minor code cleanups for statistics (GH-19873) * Minor cleanups: Removed unused code. Move C import near its Python version. * Clean-up whitespace 03 May 2020, 02:30:24 UTC
8aab843 Fix missing space in docs(GH-19866) 02 May 2020, 23:50:47 UTC
190fac9 bpo-40465: Deprecate the optional argument to random.shuffle(). (#19867) 02 May 2020, 23:45:32 UTC
7663523 bpo-40419: timeit CLI docs now mention 1,2,5,10,... trials instead of powers of 10 (GH-19752) 02 May 2020, 16:12:05 UTC
b7226eb Call $(MKDIR_P) before regenerating the PEG meta-parser (GH-19861) 02 May 2020, 15:15:27 UTC
531d1e5 bpo-39435: Make the first argument of pickle.loads() positional-only. (GH-19846) It was positional-only de facto: documentation and two implementations used three different name. 02 May 2020, 06:38:01 UTC
d2baff4 bpo-40334: regenerate metaparser as part of regen-all (GH-19854) 02 May 2020, 04:23:39 UTC
9dbaa8d Fix some scripts in the peg generator folder (GH-19853) 02 May 2020, 04:23:06 UTC
0204726 bpo-29587: Update gen.throw() to chain exceptions (#19823) Before this commit, if an exception was active inside a generator when calling gen.throw(), that exception was lost (i.e. there was no implicit exception chaining). This commit fixes that by setting exc.__context__ when calling gen.throw(exc). 02 May 2020, 01:14:19 UTC
f40bd46 bpo-40417: Fix deprecation warning in PyImport_ReloadModule (GH-19750) I can add another commit with the new test case I wrote to verify that the warning was being printed before my change, stopped printing after my change, and that the function does not return null after my change. Automerge-Triggered-By: @brettcannon 01 May 2020, 23:28:06 UTC
7ba08ff bpo-40334: use the TOKENS file when checking dangling rules (GH-19849) 01 May 2020, 22:14:12 UTC
6bd99d5 Fix the Tools/peg_generator/scripts/benchmark.py script (GH-19848) 01 May 2020, 21:33:54 UTC
289842a bpo-39435: Fix docs for pickle.loads (GH-18160) 01 May 2020, 19:46:01 UTC
64224a4 bpo-40412: Nullify inittab_copy during finalization (GH-19746) Otherwise we leave a dangling pointer to free'd memory. If we then initialize a new interpreter in the same process and call PyImport_ExtendInittab, we will (likely) crash when calling PyMem_RawRealloc(inittab_copy, ...) since the pointer address is bogus. Automerge-Triggered-By: @brettcannon 01 May 2020, 18:07:54 UTC
831d58d bpo-39691: Clarify io.open_code behavior (GH-19824) 01 May 2020, 17:52:10 UTC
4168f1e Simplify choice()'s interaction with the private _randbelow() method (GH-19831) 01 May 2020, 17:34:19 UTC
03b7642 bpo-40334: Make the PyPegen* and PyParser* APIs more consistent (GH-19839) This commit makes both APIs more consistent by doing the following: - Remove the `PyPegen_CodeObjectFrom*` functions, which weren't used and will probably not be needed. Functions like `Py_CompileStringObject` can be used instead. - Include a `const char *filename` parameter in `PyPegen_ASTFromString`. - Rename `PyPegen_ASTFromFile` to `PyPegen_ASTFromFilename`, because its signature is not the same with `PyParser_ASTFromFile`. 01 May 2020, 17:30:51 UTC
d9d6ead Ensure that tok->type_comments is set on every path (GH-19828) 01 May 2020, 16:42:32 UTC
3941d97 bpo-40334: Refactor lambda_parameters similar to parameters (GH-19830) 01 May 2020, 16:42:03 UTC
d955241 bpo-40334: Correct return value of func_type_comment (GH-19833) 01 May 2020, 15:32:09 UTC
ea7297c bpo-40334: unskip test_function_type in test_unparse with the new parser (GH-19837) 01 May 2020, 15:02:06 UTC
76c1b4d bpo-40334: Improve column offsets for thrown syntax errors by Pegen (GH-19782) 01 May 2020, 13:13:43 UTC
719e14d bpo-40462: fix variable and function names (GH-19832) Automerge-Triggered-By: @vstinner 01 May 2020, 12:49:35 UTC
8727664 bpo-32494: Use gdbm_count for dbm_length if possible (GH-19814) 01 May 2020, 12:15:35 UTC
b796b3f bpo-40334: Simplify type handling in the PEG c_generator (GH-19818) 01 May 2020, 11:32:26 UTC
252346a bpo-40453: Add PyConfig._isolated_subinterpreter (GH-19820) An isolated subinterpreter cannot spawn threads, spawn a child process or call os.fork(). * Add private _Py_NewInterpreter(isolated_subinterpreter) function. * Add isolated=True keyword-only parameter to _xxsubinterpreters.create(). * Allow again os.fork() in "non-isolated" subinterpreters. 01 May 2020, 09:33:44 UTC
8bcfd31 Change 'exception happened' to 'exception occurred' in two places (#19767) 01 May 2020, 04:30:10 UTC
3e0a6f3 bpo-40334: Add support for feature_version in new PEG parser (GH-19827) `ast.parse` and `compile` support a `feature_version` parameter that tells the parser to parse the input string, as if it were written in an older Python version. The `feature_version` is propagated to the tokenizer, which uses it to handle the three different stages of support for `async` and `await`. Additionally, it disallows the following at parser level: - The '@' operator in < 3.5 - Async functions in < 3.5 - Async comprehensions in < 3.6 - Underscores in numeric literals in < 3.6 - Await expression in < 3.5 - Variable annotations in < 3.6 - Async for-loops in < 3.5 - Async with-statements in < 3.5 - F-strings in < 3.6 Closes we-like-parsers/cpython#124. 01 May 2020, 03:27:52 UTC
eb0d359 bpo-40443: Remove unused imports in stdlib (GH-19815) 01 May 2020, 00:38:00 UTC
2935e65 bpo-40275: Fix name error in support.socket_helper (GH-19825) Replace TestFailed with support.TestFailed. Bug spotted by pyflakes. 01 May 2020, 00:35:24 UTC
17014e4 Remove dead code in test__xxsubinterpreters (GH-19826) 01 May 2020, 00:34:22 UTC
b66c0ff bpo-1635741: Fix compiler warning in _stat.c (GH-19822) Cast Py_ARRAY_LENGTH() size_t to int explicitly. 30 April 2020, 22:44:03 UTC
3c7f9db Revert "bpo-29587: Enable implicit exception chaining with gen.throw() (GH-19811)" (#19821) This reverts commit 2514a632fb7d37be24c2059d0e286d35600f9795. 30 April 2020, 20:44:24 UTC
2514a63 bpo-29587: Enable implicit exception chaining with gen.throw() (GH-19811) Before this commit, if an exception was active inside a generator when calling gen.throw(), then that exception was lost (i.e. there was no implicit exception chaining). This commit fixes that. 30 April 2020, 19:18:05 UTC
c001c09 bpo-40334: Support type comments (GH-19780) This implements full support for # type: <type> comments, # type: ignore <stuff> comments, and the func_type parsing mode for ast.parse() and compile(). Closes https://github.com/we-like-parsers/cpython/issues/95. (For now, you need to use the master branch of mypy, since another issue unique to 3.9 had to be fixed there, and there's no mypy release yet.) The only thing missing is `feature_version=N`, which is being tracked in https://github.com/we-like-parsers/cpython/issues/124. 30 April 2020, 19:12:19 UTC
efb8dd5 compileall: Fix typos in docstring (GH-19810) 30 April 2020, 10:39:11 UTC
e488e30 bpo-40443: Remove unused imports in distutils (GH-19802) 30 April 2020, 09:28:09 UTC
9054967 bpo-40443: Remove unused imports in the stdlib (GH-19803) 30 April 2020, 09:26:33 UTC
3209cbd bpo-40394 - difflib.SequenceMatched.find_longest_match default args (GH-19742) * bpo-40394 - difflib.SequenceMatched.find_longest_match default args Added default args to find_longest_match, as well as related tests. 30 April 2020, 03:42:45 UTC
6900f16 bpo-40443: Remove unused imports in idlelib (GH-19801) 30 April 2020, 01:28:51 UTC
138a9b9 bpo-40389: Improve repr of typing.Optional (#19714) 30 April 2020, 01:06:39 UTC
b1e11c3 bpo-40443: Remove unused imports in tests (GH-19804) 30 April 2020, 00:21:30 UTC
57572b1 bpo-40443: Remove unused imports in tests (GH-19805) 29 April 2020, 23:48:37 UTC
69e802e bpo-40334: Fix test_peg_parser to actually use the old parser (GH-19778) Now that the default parser is the new PEG parser, ast.parse uses it, which means that we don't actually test something in test_peg_parser. This commit introduces a new keyword argument (`oldparser`) for `_peg_parser.parse_string` for specifying that a string needs to be parsed with the old parser. This keyword argument is used in the tests to actually compare the ASTs the new parser generates with those generated by the old parser. 29 April 2020, 22:53:30 UTC
360371f bpo-40291: Add support for CAN_J1939 sockets (GH-19538) Add support for CAN_J1939 sockets that wrap SAE J1939 protocol functionality provided by Linux 5.4+ kernels. 29 April 2020, 22:31:19 UTC
fd33cdb Fix plural typo in documentation (GH-19799) Co-authored-by: Alex Povel <python@alexpovel.de> 29 April 2020, 22:17:12 UTC
84724dd bpo-1635741: Port _stat module to multiphase initialization (GH-19798) 29 April 2020, 18:20:27 UTC
113feb3 bpo-40328: Add tool for generating cjk mapping headers (GH-19602) 29 April 2020, 17:34:24 UTC
2d87577 bpo-40286: Remove C implementation of Random.randbytes() (GH-19797) Remove _random.Random.randbytes(): the C implementation of randbytes(). Implement the method in Python to ease subclassing: randbytes() now directly reuses getrandbits(). 29 April 2020, 16:49:00 UTC
e3dfb9b bpo-9216: Expose OpenSSL FIPS_mode() as _hashlib.get_fips_mode() (GH-19703) test.pythoninfo logs OpenSSL FIPS_mode() and Linux /proc/sys/crypto/fips_enabled in a new "fips" section. Co-Authored-By: Petr Viktorin <encukou@gmail.com> 29 April 2020, 16:04:22 UTC
e5963ee What's New in Python 3.9: Reorganize C API Changes (GH-19794) Move Build Changes and C API Changes to the end of the document. Most Python users don't build Python themselves and don't use the C API. Other changes: * Add Build Changes section * Add sub-sections to the C API Changes * Sort modules in Improved Modules section: move nntplib after multiprocessing 29 April 2020, 15:57:25 UTC
5769724 bpo-40228: More robust frame.setlineno. (GH-19437) More robust frame.setlineno. Makes no assumptions about source->bytecode translation. 29 April 2020, 15:49:45 UTC
ec9bea4 bpo-40436: Fix code parsing gdb version (GH-19792) test_gdb and test.pythoninfo now check gdb command exit code. 29 April 2020, 15:11:48 UTC
9a8c131 bpo-40428: Cleanup free list part of C API Changes doc (GH-19793) 29 April 2020, 14:56:30 UTC
5089bcd Add missing sys import to socket_helper.py (GH-19791) 29 April 2020, 11:32:31 UTC
4db245e bpo-40334: refactor and cleanup for the PEG generators (GH-19775) 29 April 2020, 09:42:21 UTC
9b64ef3 bpo-40432 Fix MSBuild project for Pegen grammars (#GH-9785) * Update the source path of the pegen target within the Windows regen project. Change the path to Windows path formats. * Use the more reliable SetEnv task for Cpp Projects in MSBuild. 29 April 2020, 09:09:09 UTC
bfb1cf4 bpo-40275: Move transient_internet from test.support to socket_helper (GH-19711) 29 April 2020, 07:36:20 UTC
bb4a585 bpo-40428: Remove references to Py*_ClearFreeList in the docs (GH-19783) They were removed from the C API in commit ae00a5a88534fd45939f86c12e038da9fa6f9ed6. 29 April 2020, 02:41:56 UTC
6d65087 bpo-40334: Disallow invalid single statements in the new parser (GH-19774) After parsing is done in single statement mode, the tokenizer buffer has to be checked for additional lines and a `SyntaxError` must be raised, in case there are any. Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 29 April 2020, 01:42:27 UTC
a4dfe8e bpo-39995: Fix concurrent.futures _ThreadWakeup (GH-19760) Fix a race condition in concurrent.futures._ThreadWakeup: access to _ThreadWakeup is now protected with the shutdown lock. 29 April 2020, 01:32:06 UTC
7036477 bpo-40421: Add PyFrame_GetBack() function (GH-19765) New PyFrame_GetBack() function: get the frame next outer frame. Replace frame->f_back with PyFrame_GetBack(frame) in most code but frameobject.c, ceval.c and genobject.c. 29 April 2020, 01:28:46 UTC
66abe98 bpo-40275: Move requires_hashdigest() to test.support.hashlib_helper (GH-19716) Add a new test.support.hashlib_helper submodule. 29 April 2020, 01:11:29 UTC
2208134 bpo-40334: Explicitly cast to int in pegen.c to fix a compiler warning (GH-19779) 29 April 2020, 01:04:06 UTC
4386b90 bpo-40429: PyThreadState_GetFrame() returns a strong ref (GH-19781) The PyThreadState_GetFrame() function now returns a strong reference to the frame. 29 April 2020, 01:01:43 UTC
37af21b bpo-40334: Fix shifting of nested f-strings in the new parser (GH-19771) `JoinedStr`s and `FormattedValue also needs to be shifted, in order to correctly compute the location information of nested f-strings. 29 April 2020, 00:43:50 UTC
ae00a5a bpo-40428: Remove PyTuple_ClearFreeList() function (GH-19769) Remove the following function from the C API: * PyAsyncGen_ClearFreeLists() * PyContext_ClearFreeList() * PyDict_ClearFreeList() * PyFloat_ClearFreeList() * PyFrame_ClearFreeList() * PyList_ClearFreeList() * PySet_ClearFreeList() * PyTuple_ClearFreeList() Make these functions private, move them to the internal C API and change their return type to void. Call explicitly PyGC_Collect() to free all free lists. Note: PySet_ClearFreeList() did nothing. 29 April 2020, 00:29:20 UTC
cc0dc7e bpo-40429: Refactor super_init() (GH-19776) Add super_init_without_args() sub-function. Hold a strong reference to the frame code object while calling super_init_without_args(). 29 April 2020, 00:28:23 UTC
f7bbf58 bpo-38880: List interpreters associated with a channel end (GH-17323) This PR adds the functionality requested by https://github.com/ericsnowcurrently/multi-core-python/issues/52. Automerge-Triggered-By: @ericsnowcurrently 29 April 2020, 00:18:42 UTC
49f70db bpo-40431: Fix syntax typo in turtledemo (GH-19777) *** File "/usr/lib64/python3.9/turtledemo/__main__.py", line 275 bg="#d00" if clear == NORMAL else"#fca") ^ SyntaxError: invalid string prefix 29 April 2020, 00:00:07 UTC
8852ad4 bpo-40429: PyFrame_GetCode() now returns a strong reference (GH-19773) 28 April 2020, 23:28:13 UTC
5e8c691 bpo-32604: Add support for a "default" arg in channel_recv(). (GH-19770) This allows the caller to avoid creation of an exception when the channel is empty (just like `dict.get()` works). `ChannelEmptyError` is still raised if no default is provided. Automerge-Triggered-By: @ericsnowcurrently 28 April 2020, 23:11:32 UTC
6d86a23 bpo-40429: PyFrame_GetCode() result cannot be NULL (GH-19772) Add frame_nslots() to factorize duplicate code. 28 April 2020, 22:56:58 UTC
521c8d6 bpo-39966: Revert "bpo-25597: Ensure wraps' return value is used for magic methods in MagicMock" (GH-19734) * Revert "bpo-25597: Ensure wraps' return value is used for magic methods in MagicMock (#16029)" This reverts commit 72b1004657e60c900e4cd031b2635b587f4b280e. 28 April 2020, 19:22:31 UTC
d9a43e2 bpo-40025: Require _generate_next_value_ to be defined before members (GH-19098) require `_generate_next_value_` to be defined before members 28 April 2020, 17:20:55 UTC
a42ca74 bpo-40421: Add PyFrame_GetCode() function (GH-19757) PyFrame_GetCode(frame): return a borrowed reference to the frame code. Replace frame->f_code with PyFrame_GetCode(frame) in most code, except in frameobject.c, genobject.c and ceval.c. Also add PyFrame_GetLineNumber() to the limited C API. 28 April 2020, 17:01:31 UTC
b8f704d bpo-40421: Add Include/cpython/code.h header file (GH-19756) bpo-35134, bpo-40421: Add Include/cpython/code.h header file. code.h now defines PyCodeObject type in the limited C API. It is now included by Python.h. Give a name to the PyCodeObject structure: it is now called "struct PyCodeObject". So it becomes possible to define PyCodeObject as "struct PyCodeObject" in the limited C API without defining the structure. 28 April 2020, 15:07:12 UTC
7c59d7c bpo-40421: Add pyframe.h header file (GH-19755) Add a new separated pyframe.h header file of the PyFrame public C API: it is included by Python.h. Add PyFrame_GetLineNumber() to the limited C API. Replace "struct _frame" with "PyFrameObject" in header files. PyFrameObject is now defined as struct _frame by pyframe.h which is included early enough in Python.h. 28 April 2020, 14:32:48 UTC
5da3526 Post 3.9.0a6 28 April 2020, 14:28:10 UTC
d66685a Merge tag 'v3.9.0a6' 28 April 2020, 14:27:46 UTC
5b9f498 bpo-40334: Refactor peg_generator to receive a Tokens file when building c code (GH-19745) 28 April 2020, 12:11:55 UTC
3d53d87 bpo-40334: Don't skip test_parser:test_trigget_memory_error (GH-19744) This test has been changed to always use the old parser, so no need for it to be skipped. 28 April 2020, 00:24:50 UTC
d55133f bpo-40334: Catch E_EOF error, when the tokenizer returns ERRORTOKEN (GH-19743) An E_EOF error was only being caught after the parser exited before this commit. There are some cases though, where the tokenizer returns ERRORTOKEN *and* has set an E_EOF error (like when EOF directly follows a line continuation character) which weren't correctly handled before. 28 April 2020, 00:23:35 UTC
bc1c8af Python 3.9.0a6 27 April 2020, 20:44:04 UTC
5d1f32d bpo-39995: Split test_concurrent_futures.test_crash() into sub-tests (GH-19739) Now only test_error_during_result_unpickle_in_result_handler() captures and ignores sys.stderr in the test process. Tools like test.bisect_cmd don't support subTest() but only work with the granularity of one method. Remove unused ExecutorDeadlockTest._sleep_id() method. 27 April 2020, 19:36:51 UTC
1a27501 bpo-30966: concurrent.futures.Process.shutdown() closes queue (GH-19738) Process.shutdown(wait=True) of concurrent.futures now closes explicitly the result queue. 27 April 2020, 18:53:37 UTC
b94dbd7 bpo-40334: Support PyPARSE_DONT_IMPLY_DEDENT in the new parser (GH-19736) 27 April 2020, 17:35:58 UTC
2b74c83 bpo-40334: Support CO_FUTURE_BARRY_AS_BDFL in the new parser (GH-19721) This commit also allows to pass flags to the new parser in all interfaces and fixes a bug in the parser generator that was causing to inline rules with actions, making them disappear. 27 April 2020, 17:02:07 UTC
9adccc1 bpo-30966: Add multiprocessing.SimpleQueue.close() (GH-19735) Add a new close() method to multiprocessing.SimpleQueue to explicitly close the queue. Automerge-Triggered-By: @pitrou 27 April 2020, 16:11:10 UTC
c5c4281 bpo-40375: Implement imaplib.IMAP4.unselect (GH-19712) 27 April 2020, 14:52:55 UTC
91a5ae1 bpo-40217: Clean code in PyType_FromSpec_Alloc and add NEWS entry (GH-19733) 27 April 2020, 14:24:31 UTC
0169d30 bpo-40217: Ensure Py_VISIT(Py_TYPE(self)) is always called for PyType_FromSpec types (GH-19414) 27 April 2020, 12:22:19 UTC
4044c84 Add files in tests/test_peg_generator to the install target lists (GH-19723) Update the "Makefile.pre.in" template and the "PCbuild/lib.pyproj" with the files in "Lib/test/test/test_peg_generator" so they get correctly installed along the rest of the standard library. 27 April 2020, 10:18:04 UTC
6292be7 bpo-40398: Fix typing.get_args() for special generic aliases. (GH-19720) 27 April 2020, 07:27:21 UTC
caf1aad bpo-40348: Fix typos in the programming FAQ (GH-19729) 27 April 2020, 03:23:52 UTC
b54e46c bpo-38387: Formally document PyDoc_STRVAR and PyDoc_STR macros (GH-16607) Adds a short description of `PyDoc_STRVAR` and `PyDoc_STR` to "Useful macros" section of C-API docs. Currently, there is [one lone mention](https://docs.python.org/3/c-api/module.html?highlight=pydoc_strvar#c.PyModuleDef) in the C-API reference, despite the fact that `PyDoc_STRVAR` is ubiquitous to `Modules/`. Additionally, this properly uses `c:macro` within `Doc/c-api/module.rst` to link. 27 April 2020, 02:31:44 UTC
a494caa bpo-40401: Remove duplicate pyhash.h include from pythoncore.vcxproj (GH-19725) 27 April 2020, 02:08:17 UTC
back to top