https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
97fe9cf Python 3.9.0b1 18 May 2020, 23:07:09 UTC
a3ec3ad bpo-40275: More lazy imports in test.support (GH-20131) Make the the following imports lazy in test.support: * bz2 * gzip * lzma * resource * zlib The following test.support decorators now need to be called with parenthesis: * @support.requires_bz2 * @support.requires_gzip * @support.requires_lzma * @support.requires_zlib For example, "@requires_zlib" becomes "@requires_zlib()". 18 May 2020, 22:02:57 UTC
ced4e5c Regenerate the parser (#20195) 18 May 2020, 21:47:51 UTC
c102a14 bpo-38870: Don't omit parenthesis when unparsing a slice in ast.unparse When unparsing a non-empty tuple, the parentheses can be safely omitted if there aren't any elements that explicitly require them (such as starred expressions). 18 May 2020, 20:48:49 UTC
75b863a bpo-40334: Reproduce error message for type comments on bare '*' in the new parser (GH-20151) 18 May 2020, 19:14:47 UTC
d71a649 bpo-38870: correctly escape unprintable characters on ast.unparse (GH-20166) Unprintable characters such as `\x00` weren't correctly roundtripped due to not using default string repr when generating docstrings. This patch correctly encodes all unprintable characters (except `\n` and `\t`, which are commonly used for formatting, and found unescaped). Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> Co-authored-by: Batuhan Taskaya <isidentical@gmail.com> 18 May 2020, 18:41:35 UTC
dc31800 bpo-40669: Install PEG benchmarking dependencies in a venv (GH-20183) Create a `make venv` target, that creates a virtual environment and installs the dependency in that venv. `make time` and all the related targets are changed to use the virtual environment python. Automerge-Triggered-By: @pablogsal 18 May 2020, 18:27:40 UTC
2135e10 bpo-40663: Correctly handle annotations with subscripts in ast_unparse.c (GH-20156) 18 May 2020, 18:23:48 UTC
e6578a2 bpo-40662: Fixed ast.get_source_segment for ast nodes that have incomplete location information (GH-20157) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 18 May 2020, 18:14:12 UTC
63b8e0c bpo-40528: Improve AST generation script to do builds simultaneously (GH-19968) - Switch from getopt to argparse. - Removed the limitation of not being able to produce both C and H simultaneously. This will make it run faster since it parses the asdl definition once and uses the generated tree to generate both the header and the C source. 18 May 2020, 17:42:10 UTC
7b7a21b bpo-40661: Fix segfault when parsing invalid input (GH-20165) Fix segfaults when parsing very complex invalid input, like `import äˆ ð£„¯ð¢·žð±‹á”€ð””ð‘©±å®ä±¬ð©¾\n𗶽`. Co-authored-by: Guido van Rossum <guido@python.org> Co-authored-by: Pablo Galindo <pablogsal@gmail.com> 18 May 2020, 17:32:03 UTC
08b47c3 bpo-40257: Revert changes to inspect.getdoc() (GH-20073) 18 May 2020, 17:25:07 UTC
98e42d1 bpo-35890: Use RegQueryInfoKeyW and CryptAcquireContextW explicitly (GH-19974) 18 May 2020, 16:50:03 UTC
f660567 bpo-40650: Include winsock2.h in pytime.c, instead of a full windows.h (GH-20137) 18 May 2020, 16:22:53 UTC
7f21c9a bpo-40653: Move _dirnameW out of #ifdef HAVE_SYMLINK/#endif (GH-20144) 18 May 2020, 16:17:19 UTC
951ab58 Revert "bpo-26317: Support OBJC and OBJCXX configure command line variables (GH-20176)" (GH-20182) This reverts commit 0da546665075aefbb476e192ed64122d340164f4. The commit is causing make failures on a FreeBSD buildbot. Due to the imminent 3.9.0b1 cutoff, revert this commit for now pending further investigation. 18 May 2020, 15:31:21 UTC
adc72bb bpo-38112: Document that compileall.compile_[dir,file] also accept multiple opt levels (GH-20174) 18 May 2020, 13:23:37 UTC
0da5466 bpo-26317: Support OBJC and OBJCXX configure command line variables (GH-20176) Add support to the configure script for OBJC and OBJCXX command line options so that the macOS builds can use the clang compiler for the macOS-specific Objective C source files. This allows third-party compilers, like GNU gcc, to be used to build the rest of the project since some of the Objective C system header files are not compilable by GNU gcc. Co-authored-by: Jeffrey Kintscher <websurfer@surf2c.net> Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> 18 May 2020, 13:17:22 UTC
c444108 bpo-40548: Github Actions: update actions/checkout to v2 (GH-20164) Signed-off-by: Filipe Laíns <lains@archlinux.org> 18 May 2020, 12:52:45 UTC
1731d6d bpo-34956: Fix macOS _tkinter use of Tcl/Tk in /Library/Frameworks (GH-20171) _tkinter now builds and links with non-system Tcl and Tk frameworks if they are installed in /Library/Frameworks as had been the case on older releases of macOS. If a macOS SDK is explicitly configured, by using ./configure --enable-universalsdk= or -isysroot, only a Library/Frameworks directory in the SDK itself is searched. The default behavior can still be overridden with configure --with-tcltk-includes and --with-tcltk-libs. 18 May 2020, 08:32:38 UTC
58205a0 bpo-39148: fixup to account for IPV6_ENABLED being moved (GH-20170) 18 May 2020, 07:56:47 UTC
442634c bpo-39148: enable ipv6 for datagrams in Proactor (GH-19121) Ifdef is not necessary, as AF_INET6 is supported from Windows Vista, and other code in overlapped.c uses AF_INET6 and is not ifdef'd. Change the raised exception so users are not fooled to think it comes from Windows API. Automerge-Triggered-By: @njsmith 18 May 2020, 06:21:30 UTC
da742ba bpo-31033: Improve the traceback for cancelled asyncio tasks (GH-19951) When an asyncio.Task is cancelled, the exception traceback now starts with where the task was first interrupted. Previously, the traceback only had "depth one." 18 May 2020, 05:47:31 UTC
d17f3d8 bpo-13601: Mention stderr's line buffering in What's New (GH-20168) 18 May 2020, 05:07:57 UTC
bb8635c bpo-40651: Improve LRU recipe in the OrderedDict documentation (GH-#20139) 18 May 2020, 03:50:51 UTC
3a855b2 bpo-40665: Use Argument Clinic for the bisect module (GH-20163) 18 May 2020, 03:38:35 UTC
e527ec8 bpo-40536: Add zoneinfo.available_timezones (GH-20158) This was not specified in the PEP, but it will likely be a frequently requested feature if it's not included. This includes only the "canonical" zones, not a simple listing of every valid value of `key` that can be passed to `Zoneinfo`, because it seems likely that that's what people will want. 18 May 2020, 01:55:11 UTC
9681953 bpo-39058: Preserve attribute order in argparse Namespace reprs. (GH-17621) 18 May 2020, 01:53:01 UTC
eefd4e0 bpo-39705 : sorted() tutorial example under looping techniques improved (GH-18999) 18 May 2020, 01:32:34 UTC
6546056 Doc: change 'Posix' for 'POSIX' (GH-20001) 17 May 2020, 21:29:51 UTC
4eba677 Doc: move a dot outside double quotes (GH-20007) 17 May 2020, 21:24:59 UTC
62ecd8a bpo-37630: Fix spelling shake128 -> shake_128 (GH-20154) 17 May 2020, 16:32:38 UTC
54f2898 bpo-40645: Implement HMAC in C (GH-20129) The internal module ``_hashlib`` wraps and exposes OpenSSL's HMAC API. The new code will be used in Python 3.10 after the internal implementation details of the pure Python HMAC module are no longer part of the public API. The code is based on a patch by Petr Viktorin for RHEL and Python 3.6. Co-Authored-By: Petr Viktorin <encukou@gmail.com> 17 May 2020, 11:49:10 UTC
4654500 bpo-39976: Add **other_popen_kwargs to subprocess docs (GH-20145) Patch by Zackery Spytz. 17 May 2020, 10:52:47 UTC
fa098b6 bpo-35569: add Erlend to Misc/ACKS (GH-20146) 17 May 2020, 06:57:25 UTC
9a45bfe bpo-35569: Expose RFC 3542 IPv6 socket options on macOS (GH-19526) 17 May 2020, 06:32:46 UTC
d7184d3 bpo-29587: Add another test for the gen.throw() fix. (GH-19859) 17 May 2020, 04:14:48 UTC
2c8cd06 bpo-40334: Improvements to error-handling code in the PEG parser (GH-20003) The following improvements are implemented in this commit: - `p->error_indicator` is set, in case malloc or realloc fail. - Avoid memory leaks in the case that realloc fails. - Call `PyErr_NoMemory()` instead of `PyErr_Format()`, because it requires no memory. Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 17 May 2020, 03:19:23 UTC
6341fc7 bpo-38870: Use subTest in test_unparse for better error reporting (GH-20141) 17 May 2020, 02:53:57 UTC
af8e5f8 Use subTest in test_exceptions for better error reporting (GH-20140) 17 May 2020, 00:22:00 UTC
837f9e4 bpo-40645: Deprecated internal details of hmac.HMAC (GH-20132) 16 May 2020, 23:05:40 UTC
dff92bb bpo-38870: Implement round tripping support for typed AST in ast.unparse (GH-17797) 16 May 2020, 23:04:12 UTC
e966af7 bpo-38870: Correctly handle empty docstrings in ast.unparse (GH-18768) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 16 May 2020, 22:49:07 UTC
d5a980a bpo-40165: Suppress stderr when checking if test_stty_match should be skipped (GH-19325) 16 May 2020, 22:38:02 UTC
cae2275 bpo-40211: Clarify os.preadv and os.pwritev are supported on AIX 7.1+ (GH-19401) 16 May 2020, 22:36:40 UTC
31245d1 bpo-39740: Early declare devpoll_methods to support old compilers (GH-19281) 16 May 2020, 22:36:14 UTC
25160cd bpo-38870: Don't put unnecessary parentheses on class declarations in ast.parse (GH-20134) 16 May 2020, 21:53:25 UTC
ce4a753 bpo-38870: Do not separate factor prefixes in ast.unparse (GH-20133) 16 May 2020, 21:46:11 UTC
d5b3f6b bpo-37630: Use SHA3 and SHAKE XOF from OpenSSL (GH-16049) OpenSSL 1.1.1 comes with SHA3 and SHAKE builtin. Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: @tiran 16 May 2020, 20:27:06 UTC
b17e49e bpo-40503: Add documentation and what's new entry for zoneinfo (GH-20006) This adds the documentation for the `zoneinfo` module added in PEP 615: https://www.python.org/dev/peps/pep-0615/ The implementation itself was GH-19909: https://github.com/python/cpython/pull/19909 bpo-40503: https://bugs.python.org/issue40503 Co-authored-by: Victor Stinner <vstinner@python.org> 16 May 2020, 16:14:58 UTC
1b97b9b bpo-24416: Return named tuple from date.isocalendar() (GH-20113) {date, datetime}.isocalendar() now return a private custom named tuple object IsoCalendarDate rather than a simple tuple. In order to leave IsocalendarDate as a private class and to improve what backwards compatibility is offered for pickling the result of a datetime.isocalendar() call, add a __reduce__ method to the named tuples that reduces them to plain tuples. (This is the part of this PR most likely to cause problems — if it causes major issues, switching to a strucseq or equivalent would be prudent). The pure python implementation of IsoCalendarDate uses positional-only arguments, since it is private and only constructed by position anyway; the equivalent change in the argument clinic on the C side would require us to move the forward declaration of the type above the clinic import for whatever reason, so it seems preferable to hold off on that for now. bpo-24416: https://bugs.python.org/issue24416 Original PR by Dong-hee Na with only minor alterations by Paul Ganssle. Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> 16 May 2020, 14:02:59 UTC
aa92a7c bpo-39305: Update nntplib to merge nntplib.NNTP and nntplib._NNTPBase (GH-19817) 16 May 2020, 10:31:54 UTC
372fa3e bpo-40275: lazy import modules in test.support (GH-20128) Automerge-Triggered-By: @vstinner 16 May 2020, 10:01:39 UTC
4541086 bpo-40192: Use thread_cputime for time.thread_time to improve resolution (GH-19381) On AIX, time.thread_time() is now implemented with thread_cputime() which has nanosecond resolution, rather than clock_gettime(CLOCK_THREAD_CPUTIME_ID) which has a resolution of 10 ms. 16 May 2020, 09:39:09 UTC
62972d9 bpo-40503: PEP 615: Tests and implementation for zoneinfo (GH-19909) This is the initial implementation of PEP 615, the zoneinfo module, ported from the standalone reference implementation (see https://www.python.org/dev/peps/pep-0615/#reference-implementation for a link, which has a more detailed commit history). This includes (hopefully) all functional elements described in the PEP, but documentation is found in a separate PR. This includes: 1. A pure python implementation of the ZoneInfo class 2. A C accelerated implementation of the ZoneInfo class 3. Tests with 100% branch coverage for the Python code (though C code coverage is less than 100%). 4. A compile-time configuration option on Linux (though not on Windows) Differences from the reference implementation: - The module is arranged slightly differently: the accelerated module is `_zoneinfo` rather than `zoneinfo._czoneinfo`, which also necessitates some changes in the test support function. (Suggested by Victor Stinner and Steve Dower.) - The tests are arranged slightly differently and do not include the property tests. The tests live at test/test_zoneinfo/test_zoneinfo.py rather than test/test_zoneinfo.py or test/test_zoneinfo/__init__.py because we may do some refactoring in the future that would likely require this separation anyway; we may: - include the property tests - automatically run all the tests against both pure Python and C, rather than manually constructing C and Python test classes (similar to the way this works with test_datetime.py, which generates C and Python test cases from datetimetester.py). - This includes a compile-time configuration option on Linux (though not on Windows); added with much help from Thomas Wouters. - Integration into the CPython build system is obviously different from building a standalone zoneinfo module wheel. - This includes configuration to install the tzdata package as part of CI, though only on the coverage jobs. Introducing a PyPI dependency as part of the CI build was controversial, and this is seen as less of a major change, since the coverage jobs already depend on pip and PyPI. Additional changes that were introduced as part of this PR, most / all of which were backported to the reference implementation: - Fixed reference and memory leaks With much debugging help from Pablo Galindo - Added smoke tests ensuring that the C and Python modules are built The import machinery can be somewhat fragile, and the "seamlessly falls back to pure Python" nature of this module makes it so that a problem building the C extension or a failure to import the pure Python version might easily go unnoticed. - Adjustments to zoneinfo.__dir__ Suggested by Petr Viktorin. - Slight refactorings as suggested by Steve Dower. - Removed unnecessary if check on std_abbr Discovered this because of a missing line in branch coverage. 16 May 2020, 08:20:06 UTC
6e8cda9 bpo-40457: Support OpenSSL without TLS 1.0/1.1 (GH-19862) OpenSSL can be build without support for TLS 1.0 and 1.1. The ssl module now correctly adheres to OPENSSL_NO_TLS1 and OPENSSL_NO_TLS1_1 flags. Also update multissltest to test with latest OpenSSL and LibreSSL releases. Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: @tiran 16 May 2020, 01:33:05 UTC
6b6092f bpo-39075: types.SimpleNamespace no longer sorts attributes in its repr (GH-19430) 16 May 2020, 01:27:54 UTC
1ce5841 bpo-31033: Add a msg argument to Future.cancel() and Task.cancel() (GH-19979) 15 May 2020, 23:55:50 UTC
fe1176e Add Andrew York to ACKS for GH-19622. (GH-20105) This updates ACKS for commit 003708bcf8f2c58d4b65f68318acf164d713e008 contributed by Andrew York. 15 May 2020, 22:19:39 UTC
9b60e55 bpo-40637: Add option to disable builtin hashes (GH-20121) Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: @tiran 15 May 2020, 21:54:53 UTC
a2b3cdd bpo-40445: Update compileall.compile_dir docs (GH-19806) 15 May 2020, 21:28:23 UTC
6a5d3ff bpo-40636: Clarify the zip built-in docstring. (GH-20118) Clarify the zip built-in docstring. This puts much simpler text up front along with an example. As it was, the zip built-in docstring was technically correct. But too technical for the reader who shouldn't _need_ to know about `__next__` and `StopIteration` as most people do not need to understand the internal implementation details of the iterator protocol in their daily life. This is a documentation only change, intended to be backported to 3.8; it is only tangentially related to PEP-618 which might offer new behavior options in the future. Wording based a bit more on enumerate per Brandt's suggestion. This gets rid of the legacy wording paragraph which seems too tied to implementation details of the iterator protocol which isn't relevant here. Co-authored-by: Brandt Bucher <brandtbucher@gmail.com> 15 May 2020, 21:26:00 UTC
938717f bpo-40163: Fix multissltest download of old OpenSSL (GH-19329) 15 May 2020, 20:32:25 UTC
382a563 bpo-40607: Reraise exception during task cancelation in asyncio.wait_for() (GH-20054) Currently, if asyncio.wait_for() timeout expires, it cancels inner future and then always raises TimeoutError. In case those future is task, it can handle cancelation mannually, and those process can lead to some other exception. Current implementation silently loses thoses exception. To resolve this, wait_for will check was the cancelation successfull or not. In case there was exception, wait_for will reraise it. Co-authored-by: Roman Skurikhin <roman.skurikhin@cruxlab.com> 15 May 2020, 20:12:05 UTC
c087a26 bpo-40515: Require OPENSSL_THREADS (GH-19953) The ``ssl`` and ``hashlib`` modules now actively check that OpenSSL is build with thread support. Python 3.7.0 made thread support mandatory and no longer works safely with a no-thread builds. Signed-off-by: Christian Heimes <christian@python.org> 15 May 2020, 18:55:25 UTC
62d618c bpo-40479: Test with latest OpenSSL versions (GH-20108) * 1.0.2u (EOL) * 1.1.0l (EOL) * 1.1.1g * 3.0.0-alpha2 (disabled for now) Build the FIPS provider and create a FIPS configuration file for OpenSSL 3.0.0. Signed-off-by: Christian Heimes <christian@python.org> Automerge-Triggered-By: @tiran 15 May 2020, 16:48:25 UTC
16d4e6f bpo-40479: Fix hashlib issue with OpenSSL 3.0.0 (GH-20107) OpenSSL 3.0.0-alpha2 was released today. The FIPS_mode() function has been deprecated and removed. It no longer makes sense with the new provider and context system in OpenSSL 3.0.0. EVP_default_properties_is_fips_enabled() is good enough for our needs in unit tests. It's an internal API, too. Signed-off-by: Christian Heimes <christian@python.org> 15 May 2020, 16:28:05 UTC
6e57237 bpo-40055: test_distutils leaves warnings filters unchanged (GH-20095) distutils.tests now saves/restores warnings filters to leave them unchanged. Importing tests imports docutils which imports pkg_resources which adds a warnings filter. 15 May 2020, 16:06:23 UTC
003708b Trivial typo fix in _tkinter.c (GH-19622) Change spelling of a #define in _tkinter.c from HAVE_LIBTOMMAMTH to HAVE_LIBTOMMATH, since this is used to keep track of tclTomMath.h, not tclTomMamth.h. No other file seems to refer to this variable. 15 May 2020, 10:43:58 UTC
4a12d12 Fix typo in code comment in main_loop label. (GH-20068) 15 May 2020, 02:25:45 UTC
15bc9ab bpo-40612: Fix SyntaxError edge cases in traceback formatting (GH-20072) This fixes both the traceback.py module and the C code for formatting syntax errors (in Python/pythonrun.c). They now both consistently do the following: - Suppress caret if it points left of text - Allow caret pointing just past end of line - If caret points past end of line, clip to *just* past end of line The syntax error formatting code in traceback.py was mostly rewritten; small, subtle changes were applied to the C code in pythonrun.c. There's still a difference when the text contains embedded newlines. Neither handles these very well, and I don't think the case occurs in practice. Automerge-Triggered-By: @gvanrossum 15 May 2020, 02:22:48 UTC
1aa8767 Update code comment re: location of struct _is. (GH-20067) 15 May 2020, 02:11:00 UTC
6a78589 bpo-40548: github actions: pass the changes check on no source changes (GH-20097) Signed-off-by: Filipe Laíns <lains@archlinux.org> 15 May 2020, 02:08:21 UTC
16ab070 bpo-40334: Correctly identify invalid target in assignment errors (GH-20076) Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com> 15 May 2020, 01:04:52 UTC
7ba1f75 bpo-38872: Document exec symbol for codeop.compile_command (GH-20047) * Document exec symbol for codeop.compile_command * Remove extra statements Co-authored-by: nanjekyejoannah <joannah.nanjekye@ibm.com> 15 May 2020, 00:59:46 UTC
4b972fa bpo-40462: Fix typo in test_json (GH-20094) 14 May 2020, 23:02:10 UTC
edf2643 bpo-40460: Fix typo in idlelib/zzdummy.py (GH-20093) Replace ztest with ztext. 14 May 2020, 22:51:51 UTC
75d7257 bpo-40548: GitHub Action workflow: skip jobs on doc only PRs (GH-19983) Signed-off-by: Filipe Laíns <lains@archlinux.org> 14 May 2020, 22:11:40 UTC
d2dc827 bpo-40602: _Py_hashtable_set() reports rehash failure (GH-20077) If _Py_hashtable_set() fails to grow the hash table (rehash), it now fails rather than ignoring the error. 14 May 2020, 20:44:32 UTC
ce21cfc bpo-40618: Disallow invalid targets in augassign and except clauses (GH-20083) This commit fixes the new parser to disallow invalid targets in the following scenarios: - Augmented assignments must only accept a single target (Name, Attribute or Subscript), but no tuples or lists. - `except` clauses should only accept a single `Name` as a target. Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> 14 May 2020, 20:13:50 UTC
bcc3036 bpo-40619: Correctly handle error lines in programs without file mode (GH-20090) 14 May 2020, 20:11:48 UTC
a482dc5 bpo-40602: Write unit tests for _Py_hashtable_t (GH-20091) Cleanup also hashtable.c. Rename _Py_hashtable_t members: * Rename entries to nentries * Rename num_buckets to nbuckets 14 May 2020, 19:55:47 UTC
f2c3b68 Revert "bpo-32604: [_xxsubinterpreters] Propagate exceptions. (GH-19768)" (GH-20089) * Revert "bpo-40613: Remove compiler warning from _xxsubinterpretersmodule (GH-20069)" This reverts commit fa0a66e62d087765dbc5c1b89d6149a23ecfb0a6. * Revert "bpo-32604: [_xxsubinterpreters] Propagate exceptions. (GH-19768)" This reverts commit a1d9e0accd33af1d8e90fc48b34c13d7b07dcf57. 14 May 2020, 16:46:24 UTC
97f33c3 bpo-40549: posixmodule.c uses defining_class (GH-20075) Pass PEP 573 defining_class to os.DirEntry methods. The module state is now retrieve from defining_class rather than Py_TYPE(self), to support subclasses (even if DirEntry doesn't support subclasses yet). * Pass the module rather than defining_class to DirEntry_fetch_stat(). * Only get the module state once in _posix_clear(), _posix_traverse() and _posixmodule_exec(). 14 May 2020, 16:05:58 UTC
e77d428 bpo-40495: compileall option to hardlink duplicate pyc files (GH-19901) compileall is now able to use hardlinks to prevent duplicates in a case when .pyc files for different optimization levels have the same content. Co-authored-by: Miro Hrončok <miro@hroncok.cz> Co-authored-by: Victor Stinner <vstinner@python.org> 14 May 2020, 14:17:22 UTC
7443d42 bpo-40275: Import locale module lazily in gettext (GH-19905) 14 May 2020, 01:22:30 UTC
6f2f475 bpo-40597: email: Use CTE if lines are longer than max_line_length consistently (gh-20038) raw_data_manager (default for EmailPolicy, EmailMessage) does correct wrapping of 'text' parts as long as the message contains characters outside of 7bit US-ASCII set: base64 or qp Content-Transfer-Encoding is applied if the lines would be too long without it. It did not, however, do this for ascii-only text, which could result in lines that were longer than policy.max_line_length or even the rfc 998 maximum. This changeset fixes the heuristic so that if lines are longer than policy.max_line_length, it will always apply a content-transfer-encoding so that the lines are wrapped correctly. 14 May 2020, 00:53:26 UTC
3d17c04 bpo-40521: Add PyInterpreterState.unicode (GH-20081) Move PyInterpreterState.fs_codec into a new PyInterpreterState.unicode structure. Give a name to the fs_codec structure and use this structure in unicodeobject.c. 13 May 2020, 23:48:38 UTC
75cd8e4 bpo-29587: Make gen.throw() chain exceptions with yield from (GH-19858) The previous commits on bpo-29587 got exception chaining working with gen.throw() in the `yield` case. This patch also gets the `yield from` case working. As a consequence, implicit exception chaining now also works in the asyncio scenario of awaiting on a task when an exception is already active. Tests are included for both the asyncio case and the pure generator-only case. 13 May 2020, 23:18:27 UTC
d6fb53f bpo-39465: Remove _PyUnicode_ClearStaticStrings() from C API (GH-20078) Remove the _PyUnicode_ClearStaticStrings() function from the C API. Make the function fully private (declare it with "static"). 13 May 2020, 23:11:54 UTC
d72ea60 issue-25872: Fix KeyError using linecache from multiple threads (GH-18007) The crash that this fixes occurs when using traceback and other modules from multiple threads; del cache[filename] can raise a KeyError. 13 May 2020, 22:41:57 UTC
97e1568 bpo-38787: Fix Argument Clinic defining_class_converter (GH-20074) Don't hardcode defining_class parameter name to "cls": * Define CConverter.set_template_dict(): do nothing by default * CLanguage.render_function() now calls set_template_dict() on all converters. 13 May 2020, 22:31:31 UTC
a15c9b3 bpo-40334: Always show the caret on SyntaxErrors (GH-20050) This commit fixes SyntaxError locations when the caret is not displayed, by doing the following: - `col_number` always gets set to the location of the offending node/expr. When no caret is to be displayed, this gets achieved by setting the object holding the error line to None. - Introduce a new function `_PyPegen_raise_error_known_location`, which can be called, when an arbitrary `lineno`/`col_offset` needs to be passed. This function then gets used in the grammar (through some new macros and inline functions) so that SyntaxError locations of the new parser match that of the old. 13 May 2020, 19:36:27 UTC
de92769 bpo-34790: add version of removal of explicit passing of coros to `asyncio.wait`'s documentation (#20008) 13 May 2020, 18:55:12 UTC
fa0a66e bpo-40613: Remove compiler warning from _xxsubinterpretersmodule (GH-20069) 13 May 2020, 13:38:27 UTC
b809717 bpo-40331: Increase test coverage for the statistics module (GH-19608) 13 May 2020, 10:29:31 UTC
42bae3a bpo-40602: Optimize _Py_hashtable_get_ptr() (GH-20066) _Py_hashtable_get_entry_ptr() avoids comparing the entry hash: compare directly keys. Move _Py_hashtable_get_entry_ptr() just after _Py_hashtable_get_entry_generic(). 13 May 2020, 03:36:23 UTC
5b0a303 bpo-40609: _Py_hashtable_t values become void* (GH-20065) _Py_hashtable_t values become regular "void *" pointers. * Add _Py_hashtable_entry_t.data member * Remove _Py_hashtable_t.data_size member * Remove _Py_hashtable_t.get_func member. It is no longer needed to specialize _Py_hashtable_get() for a specific value size, since all entries now have the same size (void*). * Remove the following macros: * _Py_HASHTABLE_GET() * _Py_HASHTABLE_SET() * _Py_HASHTABLE_SET_NODATA() * _Py_HASHTABLE_POP() * Rename _Py_hashtable_pop() to _Py_hashtable_steal() * _Py_hashtable_foreach() callback now gets key and value rather than entry. * Remove _Py_hashtable_value_destroy_func type. value_destroy_func callback now only has a single parameter: data (void*). 13 May 2020, 02:40:30 UTC
d95bd42 bpo-40609: _tracemalloc allocates traces (GH-20064) Rewrite _tracemalloc to store "trace_t*" rather than directly "trace_t" in traces hash tables. Traces are now allocated on the heap memory, outside the hash table. Add tracemalloc_copy_traces() and tracemalloc_copy_domains() helper functions. Remove _Py_hashtable_copy() function since there is no API to copy a key or a value. Remove also _Py_hashtable_delete() function which was commented. 13 May 2020, 01:52:11 UTC
2d0a3d6 bpo-40609: Add destroy functions to _Py_hashtable (GH-20062) Add key_destroy_func and value_destroy_func parameters to _Py_hashtable_new_full(). marshal.c and _tracemalloc.c use these destroy functions. 13 May 2020, 00:50:18 UTC
back to top