]>
git.ipfire.org Git - thirdparty/Python/cpython.git/log
Nikita Sobolev [Fri, 13 Aug 2021 10:36:22 +0000 (13:36 +0300)]
bpo-44891: Tests `id` preserving on `* 1` for `str` and `bytes` (GH-27745)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Irit Katriel [Fri, 13 Aug 2021 09:41:35 +0000 (10:41 +0100)]
bpo-44895: Temporarily add an extra gc.collect() call (GH-27746)
This is part of an investigation of a non-deterministic reference leak. While we're looking for the root cause, this is included temporarily so that CI doesn't fail on this particular issue. This enables it to find other regressions in the meantime, which would otherwise be shadowed by our known issue.
Germán Méndez Bravo [Thu, 12 Aug 2021 18:23:29 +0000 (11:23 -0700)]
bpo-43392: Optimize repeated calls to `__import__()` (GH-24735)
Implements a two steps check in `importlib._bootstrap._find_and_load()` to avoid locking when the module has been already imported and it's ready.
---
Using `importlib.__import__()`, after this, does show a big difference:
Before:
```
$ ./python -c 'import timeit; print(timeit.timeit("__import__(\"timeit\")", setup="from importlib import __import__"))'
15.
92248619502061
```
After:
```
$ ./python -c 'import timeit; print(timeit.timeit("__import__(\"timeit\")", setup="from importlib import __import__"))'
1.
206068897008663
```
---
Pablo Galindo Salgado [Thu, 12 Aug 2021 16:37:30 +0000 (17:37 +0100)]
Update pegen to use the latest upstream developments (GH-27586)
Pablo Galindo Salgado [Thu, 12 Aug 2021 16:13:30 +0000 (17:13 +0100)]
bpo-44885: Correct the ast locations of f-strings with format specs and repeated expressions (GH-27729)
Irit Katriel [Thu, 12 Aug 2021 14:20:44 +0000 (15:20 +0100)]
bpo-44890: Fix AMD build error (GH-27740)
Irit Katriel [Thu, 12 Aug 2021 11:15:06 +0000 (12:15 +0100)]
bpo-44890: collect specialization stats if Py_DEBUG (GH-27731)
Mark Shannon [Thu, 12 Aug 2021 10:47:38 +0000 (11:47 +0100)]
bpo-44878: Remove loop from interpreter. All dispatching is done by gotos. (GH-27727)
Benjamin Peterson [Thu, 12 Aug 2021 01:56:43 +0000 (18:56 -0700)]
bpo-33930: Fix typo in the test name. (#27733)
bpo-33930: Fix typo in the test name. (GH-27733)
Zephyr Shannon [Wed, 11 Aug 2021 22:21:46 +0000 (15:21 -0700)]
bpo-26228: Fix pty EOF handling (GH-12049)
On non-Linux POSIX platforms, like FreeBSD or macOS,
the FD used to read a forked PTY may signal its exit not
by raising an error but by sending empty data to the read
syscall. This case wasn't handled, leading to hanging
`pty.spawn` calls.
Co-authored-by: Reilly Tucker Siemens <reilly@tuckersiemens.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Irit Katriel [Wed, 11 Aug 2021 16:34:01 +0000 (17:34 +0100)]
Update test__opcode and _Py_GetSpecializationStats with recent specialization stat changes (GH-27728)
Mark Roseman [Wed, 11 Aug 2021 16:29:15 +0000 (09:29 -0700)]
bpo-33479: Add architecture and threading model sections to Tkinter module docs (GH-27717)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Mark Shannon [Wed, 11 Aug 2021 13:02:11 +0000 (14:02 +0100)]
bpo-44878: Remove the switch from the main interpreter loop when using computed gotos. (GH-27726)
* Refactor dispatch logic to make flow of control clearer. Moves lltrace and dxprofile instrumentation into DISPATCH macro.
* Remove switch in interpreter loop when using computed gotos. There is no need for two nearly-duplicate dispatch tables.
Mark Shannon [Wed, 11 Aug 2021 10:47:52 +0000 (11:47 +0100)]
bpo-44878: _PyEval_EvalFrameDefault readability improvements (GH-27725)
* Move a few variable declarations to point of definition.
* Factor out tracing of function entry into helper function.
180909 [Wed, 11 Aug 2021 09:32:25 +0000 (17:32 +0800)]
Add .DS_Store on ignore (GH-27711)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Mark Shannon [Wed, 11 Aug 2021 08:25:26 +0000 (09:25 +0100)]
Add missing DISPATCH() (GH-27715)
Pablo Galindo Salgado [Tue, 10 Aug 2021 23:34:14 +0000 (00:34 +0100)]
bpo-33930: Fix segfault with deep recursion when cleaning method objects (GH-27678)
Łukasz Langa [Tue, 10 Aug 2021 16:30:57 +0000 (18:30 +0200)]
bpo-44854: Add .editorconfig file to help enforce `make patchcheck` (GH-27638)
Mark Shannon [Tue, 10 Aug 2021 13:53:05 +0000 (14:53 +0100)]
Classify specialization failures. Provides more useful stats, with lower overhead. (GH-27701)
Mark Shannon [Tue, 10 Aug 2021 10:40:37 +0000 (11:40 +0100)]
Fix stats for STORE_ATTR specialization. (GH-27708)
Irit Katriel [Tue, 10 Aug 2021 09:37:25 +0000 (10:37 +0100)]
bpo-25782: avoid hang in PyErr_SetObject when current exception has a cycle in its context chain (GH-27626)
Co-authored-by: Dennis Sweeney 36520290+sweeneyde@users.noreply.github.com
Terry Jan Reedy [Tue, 10 Aug 2021 09:32:21 +0000 (05:32 -0400)]
bpo-33479: Remove unqualified tkinter threadsafe claim. (GH-6990)
It has not been true for several years and likely never was.
Zsolt Dollenstein [Tue, 10 Aug 2021 09:31:32 +0000 (10:31 +0100)]
make lib2to3 parse async generators everywhere (GH-6588)
Irit Katriel [Mon, 9 Aug 2021 22:38:26 +0000 (23:38 +0100)]
bpo-14853: add back the stdin test, skip if stdin is redirected (GH-27694)
Anthony Shaw [Mon, 9 Aug 2021 22:35:51 +0000 (08:35 +1000)]
bpo-39498 Start linking the security warnings in the stdlib modules (GH-18272)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Serhiy Storchaka [Mon, 9 Aug 2021 18:32:54 +0000 (21:32 +0300)]
bpo-44854: Remove trailing whitespaces (GH-27689)
Irit Katriel [Mon, 9 Aug 2021 17:11:38 +0000 (18:11 +0100)]
bpo-44872: use new trashcan macros in framobject.c (#27683)
Johannes Reiff [Mon, 9 Aug 2021 16:45:41 +0000 (18:45 +0200)]
bpo-41402: Fix email ContentManager calling .encode() on bytes (GH-21631)
Zackery Spytz [Mon, 9 Aug 2021 16:44:55 +0000 (09:44 -0700)]
bpo-38840: Incorrect __all__ in multiprocessing.managers (GH-18034)
This was causing test___all__ to fail on platforms lacking a shared
memory implementation.
Co-Authored-By: Xavier de Gaye <xdegaye@gmail.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
meowmeowmeowcat [Mon, 9 Aug 2021 14:14:54 +0000 (22:14 +0800)]
bpo-44522: Fix inaccurate information in open() function (GH-27650)
- Use "Low surrogate code units" instead of "Unicode Private Use Area"
Mark Shannon [Mon, 9 Aug 2021 13:44:26 +0000 (14:44 +0100)]
Remove unused variable. (GH-27677)
meowmeowmeowcat [Mon, 9 Aug 2021 12:01:30 +0000 (20:01 +0800)]
bpo-44702: Remove ambiguity in sentence (GH-27676)
Automerge-Triggered-By: GH:pablogsal
Zackery Spytz [Mon, 9 Aug 2021 10:05:31 +0000 (03:05 -0700)]
bpo-32695: Docs and tests for compresslevel and preset kwargs in tarfile (GH-21470)
Co-Authored-By: Bo Bayles <bbayles@gmail.com>
Mark Shannon [Mon, 9 Aug 2021 09:40:21 +0000 (10:40 +0100)]
bpo-44826: Specialize STORE_ATTR (GH-27590)
* Generalize cache names for LOAD_ATTR to allow store and delete specializations.
* Factor out specialization of attribute dictionary access.
* Specialize STORE_ATTR.
Mark Shannon [Mon, 9 Aug 2021 09:18:59 +0000 (10:18 +0100)]
bpo-44840: Compiler: Move duplication of exit blocks with no line numbers to after CFG optimization. (GH-27656)
Serhiy Storchaka [Sun, 8 Aug 2021 18:04:02 +0000 (21:04 +0300)]
bpo-42053: Remove misleading check in os.fwalk() (GH-27669)
os.fwalk() does not support integer as the first argument,
and never supported.
Serhiy Storchaka [Sun, 8 Aug 2021 05:49:44 +0000 (08:49 +0300)]
bpo-44859: Improve error handling in sqlite3 and and raise more accurate exceptions. (GH-27654)
* MemoryError is now raised instead of sqlite3.Warning when
memory is not enough for encoding a statement to UTF-8
in Connection.__call__() and Cursor.execute().
* UnicodEncodeError is now raised instead of sqlite3.Warning when
the statement contains surrogate characters
in Connection.__call__() and Cursor.execute().
* TypeError is now raised instead of ValueError for non-string
script argument in Cursor.executescript().
* ValueError is now raised for script containing the null
character instead of truncating it in Cursor.executescript().
* Correctly handle exceptions raised when getting boolean value
of the result of the progress handler.
* Add many tests covering different corner cases.
Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
Senthil Kumaran [Sun, 8 Aug 2021 03:18:10 +0000 (20:18 -0700)]
bpo-44830 - Remove the broken Broken Mozilla devguide link. (GH-27664)
Pablo Galindo Salgado [Sat, 7 Aug 2021 10:10:14 +0000 (11:10 +0100)]
bpo-44856: Possible reference leak in error paths of update_bases() and __build_class__ (GH-27647)
Ronald Oussoren [Fri, 6 Aug 2021 21:35:13 +0000 (23:35 +0200)]
bpo-42971: Add errno.EQFULL (macOS) (GH-24419)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Thomas Grainger [Fri, 6 Aug 2021 20:44:15 +0000 (21:44 +0100)]
bpo-41576: document BaseException in favor of bare except (GH-21917)
Jack DeVries [Fri, 6 Aug 2021 20:05:16 +0000 (16:05 -0400)]
bpo-27752: improve documentation of csv.Dialect (GH-26795)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Raymond Hettinger [Fri, 6 Aug 2021 19:33:30 +0000 (14:33 -0500)]
bpo-44605: Teach @total_ordering() to work with metaclasses (GH-27633)
Serhiy Storchaka [Fri, 6 Aug 2021 18:28:47 +0000 (21:28 +0300)]
bpo-44839: Raise more specific errors in sqlite3 (GH-27613)
MemoryError raised in user-defined functions will now preserve
its type. OverflowError will now be converted to DataError.
Previously both were converted to OperationalError.
Tzu-ping Chung [Fri, 6 Aug 2021 18:22:48 +0000 (02:22 +0800)]
Upgrade bundled pip and setuptools (#27625)
pip is now 21.2.3
setuptools is now 57.4.0
Łukasz Langa [Fri, 6 Aug 2021 18:13:59 +0000 (20:13 +0200)]
bpo-44756: [docs] revert automated virtual environment creation on `make html` (GH-27635)
It turned out to be disruptive for downstream distributors.
Bas van Beek [Fri, 6 Aug 2021 13:36:35 +0000 (15:36 +0200)]
bpo-44524: Fix an issue wherein `_GenericAlias._name` was not properly set for specialforms (GH-27614)
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Victor Stinner [Fri, 6 Aug 2021 13:15:10 +0000 (15:15 +0200)]
bpo-44849: Fix os.set_inheritable() on FreeBSD 14 with O_PATH (GH-27623)
Fix the os.set_inheritable() function on FreeBSD 14 for file
descriptor opened with the O_PATH flag: ignore the EBADF error on
ioctl(), fallback on the fcntl() implementation.
Jack DeVries [Fri, 6 Aug 2021 12:50:56 +0000 (08:50 -0400)]
bpo-40928: notify users running test_decimal on macOS of malloc warnings (GH-26783)
* When trying to allocate very large regions on macOS, malloc does not fail silently. It sends a noisy error out to STDERR
* This provides a helper function to warn the user, and provides the warning for test_decimal, which consistently generates these warnings on macOS.
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Victor Stinner [Fri, 6 Aug 2021 11:11:12 +0000 (13:11 +0200)]
bpo-44584: Deprecate PYTHONTHREADDEBUG env var (GH-27065)
The threading debug (PYTHONTHREADDEBUG environment variable) is
deprecated in Python 3.10 and will be removed in Python 3.12. This
feature requires a debug build of Python.
Jack DeVries [Thu, 5 Aug 2021 20:48:18 +0000 (16:48 -0400)]
bpo-44679: [doc] fix typo in unittest.mock.rst (GH-27618)
Pablo Galindo Salgado [Thu, 5 Aug 2021 17:28:57 +0000 (18:28 +0100)]
bpo-44838: Refine the custom syntax errors for invalid 'if' expressions (GH-27615)
Kirill Pinchuk [Thu, 5 Aug 2021 13:58:16 +0000 (16:58 +0300)]
bpo-44291: Fix reconnection in logging.handlers.SysLogHandler (GH-26490)
Erlend Egeberg Aasland [Thu, 5 Aug 2021 07:22:08 +0000 (09:22 +0200)]
bpo-44822: Don't truncate `str`s with embedded NULL chars returned by `sqlite3` UDF callbacks (GH-27588)
Inada Naoki [Thu, 5 Aug 2021 05:04:01 +0000 (14:04 +0900)]
platform: Import subprocess in function. (GH-27610)
William Chargin [Wed, 4 Aug 2021 20:43:06 +0000 (13:43 -0700)]
bpo-41706: Fix special method invocation docs to mention using type() (GH-22084)
andrei kulakov [Wed, 4 Aug 2021 19:39:45 +0000 (15:39 -0400)]
bpo-42958: Improve description of shallow= in filecmp.cmp docs (GH-27166)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Alexander Vandenbulcke <alexander.vandenbulcke95@gmail.com>
andrei kulakov [Wed, 4 Aug 2021 19:34:34 +0000 (15:34 -0400)]
[doc] bpo-43066: zipfile - add note on leading slash in the filename arg (GH-26899)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Cristián Maureira-Fredes [Wed, 4 Aug 2021 19:29:01 +0000 (21:29 +0200)]
Fix typo in 'xml.dom.minidom' documentation (GH-27602)
Brandon Schabell [Wed, 4 Aug 2021 19:01:30 +0000 (14:01 -0500)]
bpo-44564 Move formatted assertion under deprecation warning context (GH-27090)
Rohit Nishad [Wed, 4 Aug 2021 18:53:58 +0000 (00:23 +0530)]
Fix 404 link to the pyporting mailing list (GH-27320)
Co-authored-by: Mariatta Wijaya <Mariatta@users.noreply.github.com>
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Serhiy Storchaka [Wed, 4 Aug 2021 18:07:01 +0000 (21:07 +0300)]
bpo-44801: Check arguments in substitution of ParamSpec in Callable (GH-27585)
Petr Viktorin [Wed, 4 Aug 2021 18:01:31 +0000 (20:01 +0200)]
Note that tp_clear and m_clear are not always called (GH-27581)
Harry [Wed, 4 Aug 2021 17:46:30 +0000 (18:46 +0100)]
Fix hyperlink conflict in turtle docs (GH-27592)
Victor Stinner [Wed, 4 Aug 2021 16:09:14 +0000 (18:09 +0200)]
bpo-41117: Cleanup subtract_refs() (GH-27593)
subtract_refs() reuses the 'op' variable rather than calling the
FROM_GC() macro twice.
Issue reported by William Pickard.
Mark Shannon [Wed, 4 Aug 2021 15:41:14 +0000 (16:41 +0100)]
bpo-44821: Eagerly assign __dict__ for new objects. (GH-27589)
Mark Shannon [Wed, 4 Aug 2021 10:39:52 +0000 (11:39 +0100)]
Add option to write specialization stats to files and script to summarize. (GH-27575)
* Add option to write stats to random file in a directory.
* Add script to summarize stats.
da-woods [Tue, 3 Aug 2021 17:21:25 +0000 (18:21 +0100)]
bpo-41886: Fix documented type of PyType_Type (GH-22454)
Steve Dower [Tue, 3 Aug 2021 15:52:45 +0000 (16:52 +0100)]
Ensure LICENSE.txt file is generated even in PGO builds (GH-27580)
andrei kulakov [Tue, 3 Aug 2021 12:47:30 +0000 (08:47 -0400)]
bpo-44808: fixes test for interactive inspect getsource of a class (GH-27571)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
andrei kulakov [Tue, 3 Aug 2021 11:28:09 +0000 (07:28 -0400)]
bpo-41737: expand doc for NotADirectoryError (GH-27471)
Serhiy Storchaka [Tue, 3 Aug 2021 11:00:55 +0000 (14:00 +0300)]
bpo-27275: Change popitem() and pop() methods of collections.OrderedDict (GH-27530)
* Unify the C and Python implementations of OrderedDict.popitem().
The C implementation no longer calls ``__getitem__`` and ``__delitem__``
methods of the OrderedDict subclasses.
* Change popitem() and pop() methods of collections.OrderedDict
For consistency with dict both implementations (pure Python and C)
of these methods in OrderedDict no longer call __getitem__ and
__delitem__ methods of the OrderedDict subclasses.
Previously only the Python implementation of popitem() did not
call them.
Noah [Tue, 3 Aug 2021 02:17:18 +0000 (21:17 -0500)]
closes bpo-39091: Fix segfault when Exception constructor returns non-exception for gen.throw. (#17658)
Co-authored-by: Benjamin Peterson <benjamin@python.org>
Raymond Hettinger [Mon, 2 Aug 2021 18:15:45 +0000 (13:15 -0500)]
bpo-44782: Improve OrderedDict recipe for LRU cache variants (GH-27536)
Miguel Brito [Mon, 2 Aug 2021 17:11:37 +0000 (18:11 +0100)]
bpo-44792: Improve syntax errors for if expressions (GH-27506)
Jake Stockwin [Mon, 2 Aug 2021 17:01:53 +0000 (18:01 +0100)]
bpo-35183: Add typical examples to os.path.splitext docs (GH-27286)
Ken Jin [Mon, 2 Aug 2021 16:26:57 +0000 (00:26 +0800)]
Document PyMember_GetOne and PyMember_SetOne (GH-27555)
Serhiy Storchaka [Mon, 2 Aug 2021 16:23:22 +0000 (19:23 +0300)]
bpo-44806: Fix __init__ in subclasses of protocols (GH-27545)
Non-protocol subclasses of protocol ignore now the __init__ method
inherited from protocol base classes.
Serhiy Storchaka [Mon, 2 Aug 2021 16:11:12 +0000 (19:11 +0300)]
bpo-44785: Silence deprecation warnings in test_pickle (#27538)
dependabot[bot] [Mon, 2 Aug 2021 16:04:18 +0000 (18:04 +0200)]
build(deps): bump actions/stale from 3 to 4 (#27526)
Bumps [actions/stale](https://github.com/actions/stale) from 3 to 4.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v3...v4)
Signed-off-by: dependabot[bot] <support@github.com>
Mark Shannon [Mon, 2 Aug 2021 13:54:23 +0000 (14:54 +0100)]
bpo-44206: Make sure that dict-keys's version is set to zero when value is popped (GH-27542)
Pablo Galindo Salgado [Mon, 2 Aug 2021 11:54:20 +0000 (12:54 +0100)]
bpo-44808: Fix test_inspect in refleak mode (GH-27544)
partev [Mon, 2 Aug 2021 09:40:40 +0000 (05:40 -0400)]
doc: "Mac OS X" -> "macOS" (GH-27535)
partev [Mon, 2 Aug 2021 09:39:56 +0000 (05:39 -0400)]
doc: "Mac OS " -> "macOS" (GH-27534)
Irit Katriel [Mon, 2 Aug 2021 09:34:55 +0000 (10:34 +0100)]
bpo-44781: make distutils test suppress deprecation warning from import distutils (GH-27485)
Serhiy Storchaka [Mon, 2 Aug 2021 06:17:46 +0000 (09:17 +0300)]
bpo-44793: Fix checking the number of arguments when subscribe a generic type with ParamSpec parameter. (GH-27515)
For example Callable[P, T][[int], str, float] will now raise an error.
Use also term "arguments" instead of "parameters" in error
message for too few/many arguments.
Pablo Galindo Salgado [Sun, 1 Aug 2021 01:10:50 +0000 (02:10 +0100)]
bpo-34013: Don't consider a grouped expression when reporting legacy print syntax errors (GH-27521)
Anthony Sottile [Sat, 31 Jul 2021 19:15:45 +0000 (15:15 -0400)]
bpo-33671 fix orphaned comment in shutil.copyfileobj (GH-27516)
Serhiy Storchaka [Sat, 31 Jul 2021 17:05:45 +0000 (20:05 +0300)]
bpo-44794: Merge tests for typing.Callable and collection.abc.Callable (GH-27507)
Jack DeVries [Sat, 31 Jul 2021 16:27:55 +0000 (12:27 -0400)]
bpo-37880: for argparse add_argument with action='store_const', const now defaults to None. (GH-26707)
Jason R. Coombs [Sat, 31 Jul 2021 13:08:13 +0000 (09:08 -0400)]
bpo-44784: Apply changes from importlib_metadata 4.6.3 (GH-27508)
Addressing issues with tests under error on warnings.
Automerge-Triggered-By: GH:jaraco
Pablo Galindo Salgado [Sat, 31 Jul 2021 12:04:37 +0000 (13:04 +0100)]
Divide the grammar into sections to improve readability (GH-27502)
Jesús Cea [Sat, 31 Jul 2021 04:36:10 +0000 (06:36 +0200)]
Trivial typo in docstring
Pablo Galindo Salgado [Sat, 31 Jul 2021 01:17:09 +0000 (02:17 +0100)]
bpo-44667: Treat correctly lines ending with comments and no newlines in the Python tokenizer (GH-27499)
Jason R. Coombs [Sat, 31 Jul 2021 00:37:09 +0000 (20:37 -0400)]
bpo-44771: Sync with importlib_resources 5.2.2, fixing refleak. (#27497)
* bpo-44771: Sync with importlib_resources 5.2.2, fixing refleak.
* Include new 'resources' dir in the Makefile.
andrei kulakov [Fri, 30 Jul 2021 17:17:46 +0000 (13:17 -0400)]
bpo-44648: Fix error type in inspect.getsource() in interactive session (GH-27171)
andrei kulakov [Fri, 30 Jul 2021 17:10:37 +0000 (13:10 -0400)]
bpo-43625: Enhance csv sniffer has_headers() to be more accurate (GH-26939)
andrei kulakov [Fri, 30 Jul 2021 17:05:49 +0000 (13:05 -0400)]
bpo-42892: fix email multipart attribute error (GH-26903)
andrei kulakov [Fri, 30 Jul 2021 16:52:44 +0000 (12:52 -0400)]
bpo-41911: Update docs for various expressions (GH-27470)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Stefan Hoelzl [Fri, 30 Jul 2021 16:38:42 +0000 (18:38 +0200)]
bpo-44666: Use default encoding as fallback for compile_file (GH-27236)
When sys.stdout.encoding is None compile_file will fall back to
sys.getdefaultencoding to encode/decode error messages.
Co-authored-by: Stefan Hoelzl <stefan.hoelzl@posteo.de>
Co-authored-by: Mickaël Schoentgen <contact@tiger-222.fr>