]> git.ipfire.org Git - thirdparty/Python/cpython.git/log
thirdparty/Python/cpython.git
4 years agobpo-41686: Refactor signal_exec() (GH-23346)
Victor Stinner [Tue, 17 Nov 2020 17:57:32 +0000 (18:57 +0100)] 
bpo-41686: Refactor signal_exec() (GH-23346)

* Add signal_add_constants() function and add ADD_INT_MACRO macro.
* The Python SIGINT handler is now installed at the end of
  signal_exec().
* Use Py_NewRef().

4 years agobpo-41686: Always create the SIGINT event on Windows (GH-23344)
Victor Stinner [Tue, 17 Nov 2020 17:15:20 +0000 (18:15 +0100)] 
bpo-41686: Always create the SIGINT event on Windows (GH-23344)

bpo-41686, bpo-41713: On Windows, the SIGINT event,
_PyOS_SigintEvent(), is now created even if Python is configured to
not install signal handlers (PyConfig.install_signal_handlers=0 or
Py_InitializeEx(0)).

Changes:

* Move global variables initialization from signal_exec() to
  _PySignal_Init() to clarify that they are global variables cleared
  by _PySignal_Fini().
* _PySignal_Fini() now closes sigint_event.
* IntHandler is no longer a global variable.

4 years agobpo-42264: Deprecate sqlite3.OptimizedUnicode (GH-23163)
Erlend Egeberg Aasland [Tue, 17 Nov 2020 15:55:12 +0000 (16:55 +0100)] 
bpo-42264: Deprecate sqlite3.OptimizedUnicode (GH-23163)

4 years agobpo-41713: Remove PyOS_InitInterrupts() function (GH-23342)
Victor Stinner [Tue, 17 Nov 2020 15:22:23 +0000 (16:22 +0100)] 
bpo-41713: Remove PyOS_InitInterrupts() function (GH-23342)

Remove the undocumented PyOS_InitInterrupts() C function.

* Rename PyOS_InitInterrupts() to _PySignal_Init(). It now installs
  other signal handlers, not only SIGINT.
* Rename PyOS_FiniInterrupts() to _PySignal_Fini()

4 years agobpo-40637: Don't test builtin PBKDF2 without builtin hashes (GH-20980)
Christian Heimes [Tue, 17 Nov 2020 14:40:35 +0000 (15:40 +0100)] 
bpo-40637: Don't test builtin PBKDF2 without builtin hashes (GH-20980)

Skip testing of pure Python PBKDF2 when one or more builtin hash module
is not available. Otherwise the import of hashlib prints noise on
stderr.

Signed-off-by: Christian Heimes <christian@python.org>
4 years agobpo-41861, _sqlite3 : Add NEWS entry and rename variables (GH-23337)
Erlend Egeberg Aasland [Tue, 17 Nov 2020 12:52:54 +0000 (13:52 +0100)] 
bpo-41861, _sqlite3 : Add NEWS entry and rename variables (GH-23337)

4 years agobpo-42345: Fix three issues with typing.Literal parameters (GH-23294)
Yurii Karabas [Tue, 17 Nov 2020 02:23:19 +0000 (04:23 +0200)] 
bpo-42345: Fix three issues with typing.Literal parameters (GH-23294)

Literal equality no longer depends on the order of arguments.

Fix issue related to `typing.Literal` caching by adding `typed` parameter to `typing._tp_cache` function.

Add deduplication of `typing.Literal` arguments.

4 years agobpo-42381: Allow walrus in set literals and set comprehensions (GH-23332)
Pablo Galindo [Tue, 17 Nov 2020 01:17:12 +0000 (01:17 +0000)] 
bpo-42381: Allow walrus in set literals and set comprehensions (GH-23332)

Currently walruses are not allowerd in set literals and set comprehensions:

>>> {y := 4, 4**2, 3**3}
  File "<stdin>", line 1
    {y := 4, 4**2, 3**3}
       ^
SyntaxError: invalid syntax

but they should be allowed as well per PEP 572

4 years agobpo-41625: Expose the splice() system call in the os module (GH-21947)
Pablo Galindo [Tue, 17 Nov 2020 00:00:38 +0000 (00:00 +0000)] 
bpo-41625: Expose the splice() system call in the os module (GH-21947)

4 years agoAdd GCC pragmas to silence compiler warning about ffi_prep_closure (GH-23327)
Pablo Galindo [Mon, 16 Nov 2020 23:59:55 +0000 (23:59 +0000)] 
Add GCC pragmas to silence compiler warning about ffi_prep_closure (GH-23327)

4 years agobpo-42120: Remove macro defining copysign to _copysign on Windows (GH-23326)
Steve Dower [Mon, 16 Nov 2020 23:22:42 +0000 (23:22 +0000)] 
bpo-42120: Remove macro defining copysign to _copysign on Windows (GH-23326)

4 years agobpo-42316: Allow unparenthesized walrus operator in indexes (GH-23317)
Lysandros Nikolaou [Mon, 16 Nov 2020 23:09:35 +0000 (01:09 +0200)] 
bpo-42316: Allow unparenthesized walrus operator in indexes (GH-23317)

4 years agobpo-42374: Allow unparenthesized walrus in genexps (GH-23319)
Lysandros Nikolaou [Mon, 16 Nov 2020 23:08:35 +0000 (01:08 +0200)] 
bpo-42374: Allow unparenthesized walrus in genexps (GH-23319)

This fixes a regression that was introduced by the new parser.

Automerge-Triggered-By: GH:lysnikolaou
4 years agobpo-38506: Fix the Windows py.exe launcher's misordering of 3.10 (GH-18307)
Zackery Spytz [Mon, 16 Nov 2020 21:32:35 +0000 (14:32 -0700)] 
bpo-38506: Fix the Windows py.exe launcher's misordering of 3.10 (GH-18307)

4 years agobpo-40939: Document removal of the old parser in 3.10 whatsnew (GH-23321)
Lysandros Nikolaou [Mon, 16 Nov 2020 18:46:37 +0000 (20:46 +0200)] 
bpo-40939: Document removal of the old parser in 3.10 whatsnew (GH-23321)

Automerge-Triggered-By: GH:lysnikolaou
4 years agobpo-42087: Remove support for AIX 5.3 and below (GH-22830)
Kevin Adler [Mon, 16 Nov 2020 15:16:10 +0000 (09:16 -0600)] 
bpo-42087: Remove support for AIX 5.3 and below (GH-22830)

As AIX 5.3 and below do not support thread_cputime, it was decided in
https://bugs.python.org/issue40680 to require AIX 6.1 and above. This
commit removes workarounds for — and references to — older, unsupported
AIX versions.

4 years agobpo-37205: time.time() cannot fail with fatal error (GH-23314)
Victor Stinner [Mon, 16 Nov 2020 15:08:05 +0000 (16:08 +0100)] 
bpo-37205: time.time() cannot fail with fatal error (GH-23314)

time.time(), time.perf_counter() and time.monotonic() functions can
no longer fail with a Python fatal error, instead raise a regular
Python exception on failure.

Remove _PyTime_Init(): don't check system, monotonic and perf counter
clocks at startup anymore.

On error, _PyTime_GetSystemClock(), _PyTime_GetMonotonicClock() and
_PyTime_GetPerfCounter() now silently ignore the error and return 0.
They cannot fail with a Python fatal error anymore.

Add py_mach_timebase_info() and win_perf_counter_frequency()
sub-functions.

4 years agobpo-42350: Fix Thread._reset_internal_locks() (GH-23268)
Victor Stinner [Mon, 16 Nov 2020 14:20:34 +0000 (15:20 +0100)] 
bpo-42350: Fix Thread._reset_internal_locks() (GH-23268)

Fix the threading.Thread class at fork: do nothing if the thread is
already stopped (ex: fork called at Python exit). Previously, an
error was logged in the child process.

4 years agobpo-37205: time.perf_counter() and time.monotonic() are system-wide (GH-23284)
Victor Stinner [Mon, 16 Nov 2020 12:21:45 +0000 (13:21 +0100)] 
bpo-37205: time.perf_counter() and time.monotonic() are system-wide (GH-23284)

time.perf_counter() on Windows and time.monotonic() on macOS are now
system-wide. Previously, they used an offset computed at startup to
reduce the precision loss caused by the float type. Use
time.perf_counter_ns() and time.monotonic_ns() added in Python 3.7 to
avoid this precision loss.

4 years agobpo-42153 Fix link to IMAP documents in imaplib.rst (GH-23297)
Yash Shete [Mon, 16 Nov 2020 05:02:35 +0000 (10:32 +0530)] 
bpo-42153 Fix link to IMAP documents in imaplib.rst (GH-23297)

The University of Washington stopped hosting the IMAP documents. Link to a rescued copy on GitHub.

4 years agobpo-42332: Add weakref slot to types.GenericAlias (GH-23250)
kj [Mon, 16 Nov 2020 03:27:23 +0000 (11:27 +0800)] 
bpo-42332: Add weakref slot to types.GenericAlias (GH-23250)

Automerge-Triggered-By: GH:gvanrossum
4 years agoMore updates to the descriptor howto guide (GH-23238)
Raymond Hettinger [Mon, 16 Nov 2020 01:44:28 +0000 (17:44 -0800)] 
More updates to the descriptor howto guide (GH-23238)

4 years agobpo-42317: Improve docs of typing.get_args concerning Union (GH-23254)
Dominik1123 [Mon, 16 Nov 2020 01:30:55 +0000 (02:30 +0100)] 
bpo-42317: Improve docs of typing.get_args concerning Union (GH-23254)

4 years agobpo-42318: Fix support of non-BMP characters in Tkinter on macOS (GH-23281)
Serhiy Storchaka [Sun, 15 Nov 2020 16:16:59 +0000 (18:16 +0200)] 
bpo-42318: Fix support of non-BMP characters in Tkinter on macOS (GH-23281)

4 years agobpo-42351: Avoid error when opening header with non-UTF8 encoding (GH-23279)
Ronald Oussoren [Sat, 14 Nov 2020 15:07:47 +0000 (16:07 +0100)] 
bpo-42351: Avoid error when opening header with non-UTF8 encoding (GH-23279)

grep_headers_for() would error out when a header contained
text that cannot be interpreted as UTF-8.

4 years agobpo-41832: Restore note about NULL in PyType_Slot.pfunc (GH-23243)
Hai Shi [Sat, 14 Nov 2020 12:03:42 +0000 (20:03 +0800)] 
bpo-41832: Restore note about NULL in PyType_Slot.pfunc (GH-23243)

4 years agofix typo in ThreadedChildWatcher docs (GH-23277)
Thomas Grainger [Sat, 14 Nov 2020 12:02:15 +0000 (12:02 +0000)] 
fix typo in ThreadedChildWatcher docs (GH-23277)

4 years agobpo-42131: Add PEP 451-related methods to zipimport (GH-23187)
Brett Cannon [Fri, 13 Nov 2020 23:14:58 +0000 (15:14 -0800)] 
bpo-42131: Add PEP 451-related methods to zipimport (GH-23187)

Specifically, find_spec(), create_module(), and exec_module().

Co-authored-by: Nick Coghlan <ncoghlan@gmail.com>
4 years agobpo-40754: Adds _testinternalcapi to Windows installer for test suite (GH-23271)
Steve Dower [Fri, 13 Nov 2020 22:24:36 +0000 (22:24 +0000)] 
bpo-40754: Adds _testinternalcapi to Windows installer for test suite (GH-23271)

4 years agobpo-41001: Add os.eventfd() (#20930)
Christian Heimes [Fri, 13 Nov 2020 18:48:52 +0000 (19:48 +0100)] 
bpo-41001: Add os.eventfd() (#20930)

Co-authored-by: Kyle Stanley <aeros167@gmail.com>
4 years agobpo-42344: Improve pseudo implementation for SimpleNamespace (GH-23264)
Jürgen Gmach [Fri, 13 Nov 2020 18:15:37 +0000 (19:15 +0100)] 
bpo-42344: Improve pseudo implementation for SimpleNamespace (GH-23264)

4 years agobpo-40968: Send http/1.1 ALPN extension (#20959)
Christian Heimes [Fri, 13 Nov 2020 15:37:52 +0000 (16:37 +0100)] 
bpo-40968: Send http/1.1 ALPN extension (#20959)

Signed-off-by: Christian Heimes <christian@python.org>
4 years agobpo-42042: Use ids attribute instead of names attribute (GH-22739)
Dong-hee Na [Fri, 13 Nov 2020 15:15:17 +0000 (00:15 +0900)] 
bpo-42042: Use ids attribute instead of names attribute (GH-22739)

4 years agobpo-41617: Add _Py__has_builtin() macro (GH-23260)
Victor Stinner [Fri, 13 Nov 2020 14:38:17 +0000 (15:38 +0100)] 
bpo-41617: Add _Py__has_builtin() macro (GH-23260)

Fix building pycore_bitutils.h internal header on old clang version
without __builtin_bswap16() (ex: Xcode 4.6.3 on Mac OS X 10.7).

Add a new private _Py__has_builtin() macro to check for availability
of a preprocessor builtin function.

Co-Authored-By: Joshua Root <jmr@macports.org>
Co-authored-by: Joshua Root <jmr@macports.org>
4 years agobpo-42296: On Windows, fix CTRL+C regression (GH-23257)
Victor Stinner [Fri, 13 Nov 2020 13:44:42 +0000 (14:44 +0100)] 
bpo-42296: On Windows, fix CTRL+C regression (GH-23257)

On Windows, fix a regression in signal handling which prevented to
interrupt a program using CTRL+C. The signal handler can be run in a
thread different than the Python thread, in which case the test
deciding if the thread can handle signals is wrong.

On Windows, _PyEval_SignalReceived() now always sets eval_breaker to
1 since it cannot test _Py_ThreadCanHandleSignals(), and
  eval_frame_handle_pending() always calls
  _Py_ThreadCanHandleSignals() to recompute eval_breaker.

4 years agobpo-38823: Fix compiler warning in _ctypes on Windows (GH-23258)
Victor Stinner [Fri, 13 Nov 2020 13:44:11 +0000 (14:44 +0100)] 
bpo-38823: Fix compiler warning in _ctypes on Windows (GH-23258)

Explicitly cast PyExc_Exception to PyTypeObject* to fix the warning:

    modules\_ctypes\_ctypes.c(5748): warning C4133: '=':
    incompatible types - from 'PyObject *' to '_typeobject *'

4 years agobpo-42246: Fix memory leak in compiler (GH-23256)
Mark Shannon [Fri, 13 Nov 2020 12:53:53 +0000 (12:53 +0000)] 
bpo-42246: Fix memory leak in compiler (GH-23256)

* Fix potential memory leak in assembler init.

* Fix reference leak when encountering error during compilation of function body.

4 years agobpo-42246: Eliminate jumps to exit blocks by copying those blocks. (#23251)
Mark Shannon [Thu, 12 Nov 2020 19:49:33 +0000 (19:49 +0000)] 
bpo-42246: Eliminate jumps to exit blocks by copying those blocks. (#23251)

* Compiler: eliminate jumps to short exit blocks by copying.

4 years agobpo-42308: Add threading.__excepthook__ (GH-23218)
Mario Corchero [Thu, 12 Nov 2020 17:27:44 +0000 (18:27 +0100)] 
bpo-42308: Add threading.__excepthook__ (GH-23218)

Add threading.__excepthook__ to allow retrieving the original value
of threading.excepthook in case it is set to a broken or a different
value.

4 years agobpo-38823: Always build _ctypes with wchar_t (GH-23248)
Victor Stinner [Thu, 12 Nov 2020 14:38:13 +0000 (15:38 +0100)] 
bpo-38823: Always build _ctypes with wchar_t (GH-23248)

It is no longer possible to build the _ctypes extension module
without wchar_t type: remove CTYPES_UNICODE macro. Anyway, the
wchar_t type is required to build Python.

4 years agobpo-42260: Initialize time and warnings earlier at startup (GH-23249)
Victor Stinner [Thu, 12 Nov 2020 14:14:13 +0000 (15:14 +0100)] 
bpo-42260: Initialize time and warnings earlier at startup (GH-23249)

* Call _PyTime_Init() and _PyWarnings_InitState() earlier during the
  Python initialization.
* Inline _PyImportHooks_Init() into _PySys_InitCore().
* The _warnings initialization function no longer call
  _PyWarnings_InitState() to prevent resetting filters_version to 0.
* _PyWarnings_InitState() now returns an int and no longer clear the
  state in case of error (it's done anyway at Python exit).
* Rework init_importlib(), fix refleaks on errors.

4 years agobpo-38823: Fix refleaks in _ctypes extension init (GH-23247)
Victor Stinner [Thu, 12 Nov 2020 13:09:57 +0000 (14:09 +0100)] 
bpo-38823: Fix refleaks in _ctypes extension init (GH-23247)

Fix reference leaks in the error path of the initialization function
the _ctypes extension module: call Py_DECREF(mod) on error.

Change PyCFuncPtr_Type name from _ctypes.PyCFuncPtr to
_ctypes.CFuncPtr to be consistent with the name exposed in the
_ctypes namespace (_ctypes.CFuncPtr).

Split PyInit__ctypes() function into sub-functions and add macros for
readability.

4 years agoBump magic number. (GH-23245)
Mark Shannon [Thu, 12 Nov 2020 10:42:44 +0000 (10:42 +0000)] 
Bump magic number. (GH-23245)

4 years agobpo-42237: Fix os.sendfile() on illumos (GH-23154)
Jakub Stasiak [Thu, 12 Nov 2020 09:49:30 +0000 (10:49 +0100)] 
bpo-42237: Fix os.sendfile() on illumos (GH-23154)

4 years agobpo-42246: Partial implementation of PEP 626. (GH-23113)
Mark Shannon [Thu, 12 Nov 2020 09:43:29 +0000 (09:43 +0000)] 
bpo-42246: Partial implementation of PEP 626. (GH-23113)

* Implement new line number table format, as defined in PEP 626.

4 years agoFix memory leak introduced by GH-22780 (GH-23237)
Andrew Svetlov [Wed, 11 Nov 2020 15:48:53 +0000 (17:48 +0200)] 
Fix memory leak introduced by GH-22780 (GH-23237)

4 years agobpo-40170: Fix PyType_Ready() refleak on static type (GH-23236)
Victor Stinner [Wed, 11 Nov 2020 13:27:32 +0000 (14:27 +0100)] 
bpo-40170: Fix PyType_Ready() refleak on static type (GH-23236)

bpo-1635741, bpo-40170: When called on a static type with NULL
tp_base, PyType_Ready() no longer increments the reference count of
the PyBaseObject_Type ("object). PyTypeObject.tp_base is a strong
reference on a heap type, but it is borrowed reference on a static
type.

Fix 99 reference leaks at Python exit (showrefcount 18623 => 18524).

4 years agobpo-40932: Note security caveat of shlex.quote on Windows (GH-21502)
Ammar Askar [Wed, 11 Nov 2020 07:29:56 +0000 (02:29 -0500)] 
bpo-40932: Note security caveat of shlex.quote on Windows (GH-21502)

Added a note in the `subprocess` docs that recommend using `shlex.quote` without mentioning that this is only applicable to Unix.

Also added a warning straight into the `shlex` docs since it only says "for simple syntaxes resembling that of the Unix shell" and says using `quote` plugs the security hole without mentioning this important caveat.

4 years agobpo-39411: pyclbr rewrite on AST (#18103)
Batuhan Taskaya [Wed, 11 Nov 2020 07:14:12 +0000 (10:14 +0300)] 
bpo-39411: pyclbr rewrite on AST (#18103)

- Rewrite pyclbr using an AST processor
- Add is_async to the pyclbr.Function

4 years agobpo-1635741: Fix typo in PyModule_AddObjectRef() doc (GH-23234)
Victor Stinner [Wed, 11 Nov 2020 00:52:26 +0000 (01:52 +0100)] 
bpo-1635741: Fix typo in PyModule_AddObjectRef() doc (GH-23234)

It is similar to PyModule_AddObject(), not to itself.

4 years agobpo-42294: Grammar fixes in doc glossary strong/weak refs (GH-23227)
kj [Tue, 10 Nov 2020 23:56:55 +0000 (07:56 +0800)] 
bpo-42294: Grammar fixes in doc glossary strong/weak refs (GH-23227)

4 years agobpo-42140: Improve asyncio.wait function (GH-22938)
Diogo Dutra [Tue, 10 Nov 2020 22:12:52 +0000 (19:12 -0300)] 
bpo-42140: Improve asyncio.wait function (GH-22938)

# Improve asyncio.wait function

The original code creates the futures set two times.
We can create this set before, avoiding the second creation.

This new behaviour [breaks the aiokafka library](https://github.com/aio-libs/aiokafka/pull/672), because it gives an iterator to that function, so the second iteration become empty.

Automerge-Triggered-By: GH:1st1
4 years agobpo-41073: PyType_GetSlot() can now accept static types. (GH-21931)
Hai Shi [Tue, 10 Nov 2020 20:53:46 +0000 (04:53 +0800)] 
bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931)

PyType_GetSlot() can now accept static types.

Co-Authored-By: Petr Viktorin <encukou@gmail.com>
Automerge-Triggered-By: GH:encukou
4 years agobpo-42260: Fix _PyConfig_Read() if compute_path_config=0 (GH-23220)
Victor Stinner [Tue, 10 Nov 2020 20:10:22 +0000 (21:10 +0100)] 
bpo-42260: Fix _PyConfig_Read() if compute_path_config=0 (GH-23220)

Fix _PyConfig_Read() if compute_path_config=0: use values set by
Py_SetPath(), Py_SetPythonHome() and Py_SetProgramName(). Add
compute_path_config parameter to _PyConfig_InitPathConfig().

The following functions now return NULL if called before
Py_Initialize():

* Py_GetExecPrefix()
* Py_GetPath()
* Py_GetPrefix()
* Py_GetProgramFullPath()
* Py_GetProgramName()
* Py_GetPythonHome()

These functions no longer automatically computes the Python Path
Configuration. Moreover, Py_SetPath() no longer computes
program_full_path.

4 years agobpo-42085: Introduce dedicated entry in PyAsyncMethods for sending values (#22780)
Vladimir Matveev [Tue, 10 Nov 2020 20:09:55 +0000 (12:09 -0800)] 
bpo-42085: Introduce dedicated entry in PyAsyncMethods for sending values (#22780)

4 years agobpo-42014: shutil.rmtree: call onerror with correct function (GH-22585)
Michal Čihař [Tue, 10 Nov 2020 16:06:02 +0000 (17:06 +0100)] 
bpo-42014: shutil.rmtree: call onerror with correct function (GH-22585)

The onerror is supposed to be called with failed function, but in this case lstat is wrongly used instead of open.

Not sure if this needs bug or not...

Automerge-Triggered-By: GH:hynek
4 years agoUpdate whatsnew for 3.10 release about addition of contextlib.aclosing (GH-23217)
Joongi Kim [Tue, 10 Nov 2020 15:19:11 +0000 (00:19 +0900)] 
Update whatsnew for 3.10 release about addition of contextlib.aclosing (GH-23217)

4 years agobpo-42183: Fix a stack overflow error for asyncio Task or Future repr() (GH-23020)
Andrew Svetlov [Tue, 10 Nov 2020 13:58:31 +0000 (15:58 +0200)] 
bpo-42183: Fix a stack overflow error for asyncio Task or Future repr() (GH-23020)

The overflow occurs under some circumstances when a task or future
recursively returns itself.

Co-authored-by: Kyle Stanley <aeros167@gmail.com>
4 years agobpo-42171: Add PEP573-related items to the limited API (GH-23009)
Petr Viktorin [Tue, 10 Nov 2020 13:47:31 +0000 (14:47 +0100)] 
bpo-42171: Add PEP573-related items to the limited API (GH-23009)

4 years agoFix typo in test_array.py (GH-23189)
Ikko Ashimine [Tue, 10 Nov 2020 12:42:36 +0000 (21:42 +0900)] 
Fix typo in test_array.py (GH-23189)

4 years agobpo-42260: Compute the path config in the main init (GH-23211)
Victor Stinner [Tue, 10 Nov 2020 12:21:52 +0000 (13:21 +0100)] 
bpo-42260: Compute the path config in the main init (GH-23211)

The path configuration is now computed in the "main" initialization.
The core initialization no longer computes it.

* Add _PyConfig_Read() function to read the configuration without
  computing the path configuration.
* pyinit_core() no longer computes the path configuration: it is now
  computed by init_interp_main().
* The path configuration output members of PyConfig are now optional:

  * executable
  * base_executable
  * prefix
  * base_prefix
  * exec_prefix
  * base_exec_prefix

* _PySys_UpdateConfig() now skips NULL strings in PyConfig.
* _testembed: Rename test_set_config() to test_init_set_config() for
  consistency with other tests.

4 years agoFix typo in unicodeobject.c (GH-23180)
Ikko Ashimine [Tue, 10 Nov 2020 05:57:34 +0000 (14:57 +0900)] 
Fix typo in unicodeobject.c (GH-23180)

exeeds -> exceeds

Automerge-Triggered-By: GH:Mariatta
4 years agobpo-36310: Allow pygettext.py to detect calls to gettext in f-strings. (GH-19875)
jack1142 [Mon, 9 Nov 2020 22:50:45 +0000 (23:50 +0100)] 
bpo-36310: Allow pygettext.py to detect calls to gettext in f-strings. (GH-19875)

Adds support to Tools/i18n/pygettext.py for gettext calls in f-strings. This process is done by parsing the f-strings, processing each value, and flagging the ones which contain a gettext call.

Co-authored-by: Batuhan Taskaya <batuhanosmantaskaya@gmail.com>
5 years agobpo-41712: Avoid runaway regex match in upload scripts (GH-23166)
Yash Shete [Mon, 9 Nov 2020 17:38:09 +0000 (23:08 +0530)] 
bpo-41712: Avoid runaway regex match in upload scripts (GH-23166)

5 years agobpo-42294: Add borrowed/strong reference to doc glossary (GH-23206)
Victor Stinner [Mon, 9 Nov 2020 12:40:47 +0000 (13:40 +0100)] 
bpo-42294: Add borrowed/strong reference to doc glossary (GH-23206)

Add "borrowed reference" and "strong reference" to the documentation
glossary.

Enhance also Py_INCREF() and Py_NewRef() documentation.

5 years agobpo-41543: contextlib.nullcontext can fill in for an async context manager (GH-21870)
Tom Gringauz [Mon, 9 Nov 2020 12:34:07 +0000 (14:34 +0200)] 
bpo-41543: contextlib.nullcontext can fill in for an async context manager (GH-21870)

Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
5 years agobpo-40624: Add support for the XPath != operator in xml.etree (GH-22147)
Ammar Askar [Mon, 9 Nov 2020 07:02:39 +0000 (02:02 -0500)] 
bpo-40624: Add support for the XPath != operator in xml.etree (GH-22147)

5 years agobpo-42233: Add union type expression support for GenericAlias and fix de-duplicating...
kj [Mon, 9 Nov 2020 04:00:13 +0000 (12:00 +0800)] 
bpo-42233: Add union type expression support for GenericAlias and fix de-duplicating of GenericAlias (GH-23077)

5 years agobpo-41754: Ignore NotADirectoryError in invocation of xdg-settings (GH-23075)
Ronald Oussoren [Sun, 8 Nov 2020 09:46:55 +0000 (10:46 +0100)] 
bpo-41754: Ignore NotADirectoryError in invocation of xdg-settings (GH-23075)

It is not clear why this can happen, but several users have mentioned
getting this exception on macOS.

5 years agobpo-41100: Support macOS 11 and Apple Silicon (GH-22855)
Ronald Oussoren [Sun, 8 Nov 2020 09:05:27 +0000 (10:05 +0100)] 
bpo-41100: Support macOS 11 and Apple Silicon (GH-22855)

Co-authored-by: Lawrence D’Anna <lawrence_danna@apple.com>
* Add support for macOS 11 and Apple Silicon (aka arm64)

  As a side effect of this work use the system copy of libffi on macOS, and remove the vendored copy

* Support building on recent versions of macOS while deploying to older versions

  This allows building installers on macOS 11 while still supporting macOS 10.9.

5 years agoMinor wording change in concurrent.futures. (GH-23194)
Don Kirkby [Sun, 8 Nov 2020 09:01:23 +0000 (01:01 -0800)] 
Minor wording change in concurrent.futures. (GH-23194)

Fixes a grammar problem by adding a missing "as", and clarifies the wording of the valid ranges for max_workers.

5 years agobpo-40077: Convert _queuemodule to use heap types (GH-23136)
Erlend Egeberg Aasland [Sat, 7 Nov 2020 19:18:37 +0000 (20:18 +0100)] 
bpo-40077: Convert _queuemodule to use heap types (GH-23136)

@vstinner / @corona10, would you mind reviewing this?

5 years agobpo-42282: Fold constants inside named expressions (GH-23190)
Nick Coghlan [Sat, 7 Nov 2020 12:35:17 +0000 (22:35 +1000)] 
bpo-42282: Fold constants inside named expressions (GH-23190)

* The AST optimiser wasn't descending into named expressions, so
  any constant subexpressions weren't being folded at compile time
* Remove "default:" clauses inside the AST optimiser code to reduce the
  risk of similar bugs passing unnoticed in future compiler changes

5 years agobpo-41028: Doc: Move switchers to docsbuild-scripts. (GH-20969)
Julien Palard [Sat, 7 Nov 2020 11:28:31 +0000 (12:28 +0100)] 
bpo-41028: Doc: Move switchers to docsbuild-scripts. (GH-20969)

5 years agobpo-42133: update parts of the stdlib to fall back to `__spec__.loader` when `__loade...
Brett Cannon [Sat, 7 Nov 2020 02:45:56 +0000 (18:45 -0800)] 
bpo-42133: update parts of the stdlib to fall back to `__spec__.loader` when `__loader__` is missing (#22929)

5 years agoRemove outdated reference to pywin32 from platform module (GH-22005)
Andre Delfino [Fri, 6 Nov 2020 18:58:14 +0000 (15:58 -0300)] 
Remove outdated reference to pywin32 from platform module (GH-22005)

5 years agobpo-41832: PyType_FromModuleAndSpec() now accepts NULL tp_doc (GH-23123)
Hai Shi [Fri, 6 Nov 2020 16:04:47 +0000 (00:04 +0800)] 
bpo-41832: PyType_FromModuleAndSpec() now accepts NULL tp_doc (GH-23123)

5 years agoMinor grammar edits for the descriptor howto guide (GH-#23175)
Raymond Hettinger [Fri, 6 Nov 2020 09:30:17 +0000 (01:30 -0800)] 
Minor grammar edits for the descriptor howto guide (GH-#23175)

5 years agobpo-42179: Doc/tutorial: Remove mention of __cause__ (GH-23162)
Inada Naoki [Fri, 6 Nov 2020 02:45:01 +0000 (11:45 +0900)] 
bpo-42179: Doc/tutorial: Remove mention of __cause__ (GH-23162)

5 years agobpo-26389: Allow passing an exception object in the traceback module (GH-22610)
Zackery Spytz [Thu, 5 Nov 2020 22:18:44 +0000 (15:18 -0700)] 
bpo-26389: Allow passing an exception object in the traceback module (GH-22610)

The format_exception(), format_exception_only(), and
print_exception() functions can now take an exception object as a positional-only argument.

Co-Authored-By: Matthias Bussonnier <bussonniermatthias@gmail.com>
5 years agobpo-42260: PyConfig_Read() only parses argv once (GH-23168)
Victor Stinner [Thu, 5 Nov 2020 17:58:07 +0000 (18:58 +0100)] 
bpo-42260: PyConfig_Read() only parses argv once (GH-23168)

The PyConfig_Read() function now only parses PyConfig.argv arguments
once: PyConfig.parse_argv is set to 2 after arguments are parsed.
Since Python arguments are strippped from PyConfig.argv, parsing
arguments twice would parse the application options as Python
options.

* Rework the PyConfig documentation.
* Fix _testinternalcapi.set_config() error handling.
* SetConfigTests no longer needs parse_argv=0 when restoring the old
  configuration.

5 years agobpo-42260: Add _PyConfig_FromDict() (GH-23167)
Victor Stinner [Thu, 5 Nov 2020 17:12:33 +0000 (18:12 +0100)] 
bpo-42260: Add _PyConfig_FromDict() (GH-23167)

* Rename config_as_dict() to _PyConfig_AsDict().
* Add 'module_search_paths_set' to _PyConfig_AsDict().
* Add _PyConfig_FromDict().
* Add get_config() and set_config() to _testinternalcapi.
* Add config_check_consistency().

5 years agobpo-41877 Check for asert, aseert, assrt in mocks (GH-23165)
vabr-g [Thu, 5 Nov 2020 17:04:38 +0000 (18:04 +0100)] 
bpo-41877 Check for asert, aseert, assrt in mocks (GH-23165)

Currently, a Mock object which is not unsafe will raise an
AttributeError if an attribute with the prefix assert or assret is
accessed on it. This protects against misspellings of real assert
method calls, which lead to tests passing silently even if the tested
code does not satisfy the intended assertion.

Recently a check was done in a large code base (Google) and three
more frequent ways of misspelling assert were found causing harm:
asert, aseert, assrt. These are now added to the existing check.

5 years ago[docs] fix wrongly named AsyncContextDecorator (GH-23164)
kj [Thu, 5 Nov 2020 16:16:27 +0000 (00:16 +0800)] 
[docs] fix wrongly named AsyncContextDecorator (GH-23164)

Also added versionchanged.

5 years agobpo-42262: Add Py_NewRef() and Py_XNewRef() (GH-23152)
Victor Stinner [Thu, 5 Nov 2020 14:02:12 +0000 (15:02 +0100)] 
bpo-42262: Add Py_NewRef() and Py_XNewRef() (GH-23152)

Added Py_NewRef() and Py_XNewRef() functions to increment the reference
count of an object and return the object.

5 years agobpo-42266: Handle monkey-patching descriptors in LOAD_ATTR cache (GH-23157)
Pablo Galindo [Thu, 5 Nov 2020 09:23:15 +0000 (09:23 +0000)] 
bpo-42266: Handle monkey-patching descriptors in LOAD_ATTR cache (GH-23157)

5 years agobpo-40816 Add AsyncContextDecorator class (GH-20516)
Kazantcev Andrey [Thu, 5 Nov 2020 08:52:24 +0000 (11:52 +0300)] 
bpo-40816 Add AsyncContextDecorator class (GH-20516)

Co-authored-by: Yury Selivanov <yury@edgedb.com>
5 years agobpo-42260: Add _PyInterpreterState_SetConfig() (GH-23158)
Victor Stinner [Wed, 4 Nov 2020 23:45:56 +0000 (00:45 +0100)] 
bpo-42260: Add _PyInterpreterState_SetConfig() (GH-23158)

* Inline _PyInterpreterState_SetConfig(): replace it with
  _PyConfig_Copy().
* Add _PyErr_SetFromPyStatus()
* Add _PyInterpreterState_GetConfigCopy()
* Add a new _PyInterpreterState_SetConfig() function.
* Add an unit which gets, modifies, and sets the config.

5 years agoDisable peg generator tests when building with PGO (GH-23141)
serge-sans-paille [Wed, 4 Nov 2020 23:01:08 +0000 (23:01 +0000)] 
Disable peg generator tests when building with PGO (GH-23141)

Otherwise, when running the testsuite, test_peg_generator tries to compile C
code using the optimized flags and fails because it cannot find the profile
data.

5 years agobpo-1635741: _sqlite3 uses PyModule_AddObjectRef() (GH-23148)
Erlend Egeberg Aasland [Wed, 4 Nov 2020 19:31:51 +0000 (20:31 +0100)] 
bpo-1635741: _sqlite3 uses PyModule_AddObjectRef() (GH-23148)

5 years agobpo-1635741: Fix PyInit_pyexpat() error handling (GH-22489)
Mohamed Koubaa [Wed, 4 Nov 2020 17:37:23 +0000 (11:37 -0600)] 
bpo-1635741: Fix PyInit_pyexpat() error handling (GH-22489)

Split PyInit_pyexpat() into sub-functions and fix reference leaks
on error paths.

5 years agobpo-42260: Main init modify sys.flags in-place (GH-23150)
Victor Stinner [Wed, 4 Nov 2020 16:34:34 +0000 (17:34 +0100)] 
bpo-42260: Main init modify sys.flags in-place (GH-23150)

When Py_Initialize() is called twice, the second call now updates
more sys attributes for the configuration, rather than only sys.argv.

* Rename _PySys_InitMain() to _PySys_UpdateConfig().
* _PySys_UpdateConfig() now modifies sys.flags in-place, instead of
  creating a new flags object.
* Remove old commented sys.flags flags (unbuffered and skip_first).
* Add private _PySys_GetObject() function.
* When Py_Initialize(), Py_InitializeFromConfig() and

5 years agobpo-1635741: Fix ref leak in _PyWarnings_Init() error path (GH-23151)
Victor Stinner [Wed, 4 Nov 2020 16:33:06 +0000 (17:33 +0100)] 
bpo-1635741: Fix ref leak in _PyWarnings_Init() error path (GH-23151)

Replace PyModule_AddObject() with PyModule_AddObjectRef() in the
_warnings module to fix a reference leak on error.

Use also PyModule_AddObjectRef() in importdl.c.

5 years agobpo-1635741: _ast uses PyModule_AddObjectRef() (GH-23146)
Victor Stinner [Wed, 4 Nov 2020 15:37:07 +0000 (16:37 +0100)] 
bpo-1635741: _ast uses PyModule_AddObjectRef() (GH-23146)

Replace PyModule_AddObject() with PyModule_AddObjectRef() in the _ast
module (Python-ast.c).

5 years agobpo-1635741: _contextvars uses PyModule_AddType() (GH-23147)
Victor Stinner [Wed, 4 Nov 2020 15:33:55 +0000 (16:33 +0100)] 
bpo-1635741: _contextvars uses PyModule_AddType() (GH-23147)

Replace PyModule_AddObject() with PyModule_AddType() in the
_contextvars module (Python-ast.c).

Add also the module name to _contextvars types name.

5 years agobpo-42260: Reorganize PyConfig (GH-23149)
Victor Stinner [Wed, 4 Nov 2020 15:15:54 +0000 (16:15 +0100)] 
bpo-42260: Reorganize PyConfig (GH-23149)

* Move orig_argv before argv
* Move program_name and platlibdir with other path configuration
  inputs

Give a name to the PyPreConfig and PyConfig structures and separate
the type definitions.

5 years agobpo-1635741: Add PyModule_AddObjectRef() function (GH-23122)
Victor Stinner [Wed, 4 Nov 2020 12:59:15 +0000 (13:59 +0100)] 
bpo-1635741: Add PyModule_AddObjectRef() function (GH-23122)

Added PyModule_AddObjectRef() function: similar to
PyModule_AddObjectRef() but don't steal a reference to the value on
success.

5 years agobpo-42236: os.device_encoding() respects UTF-8 Mode (GH-23119)
Victor Stinner [Wed, 4 Nov 2020 10:20:10 +0000 (11:20 +0100)] 
bpo-42236: os.device_encoding() respects UTF-8 Mode (GH-23119)

On Unix, the os.device_encoding() function now returns 'UTF-8' rather
than the device encoding if the Python UTF-8 Mode is enabled.

5 years agobpo-42251: Add gettrace and getprofile to threading (GH-23125)
Mario Corchero [Wed, 4 Nov 2020 09:27:43 +0000 (10:27 +0100)] 
bpo-42251: Add gettrace and getprofile to threading (GH-23125)

This allows to retrieve the functions that were set in these two, which might differ from sys.gettrace and sys.getprofile within a thread.

5 years agoEnable signing of nuget.org packages and update to supported timestamp server (GH...
Steve Dower [Tue, 3 Nov 2020 22:31:49 +0000 (22:31 +0000)] 
Enable signing of nuget.org packages and update to supported timestamp server (GH-23132)