Skip to content

Commit 98aaa63

Browse files
committed
Merge branch 'main' of https://github.com/python/cpython into manjusaka/refcount-call-str
2 parents 53cef9d + 4e41636 commit 98aaa63

File tree

160 files changed

+3563
-1153
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

160 files changed

+3563
-1153
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ Lib/test/certdata/*.pem generated
8888
Lib/test/certdata/*.0 generated
8989
Lib/test/levenshtein_examples.json generated
9090
Lib/test/test_stable_abi_ctypes.py generated
91+
Lib/test/test_zoneinfo/data/*.json generated
9192
Lib/token.py generated
9293
Misc/sbom.spdx.json generated
9394
Objects/typeslots.inc generated

.github/CODEOWNERS

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ Tools/build/generate_global_objects.py @ericsnowcurrently
322322
# Remote Debugging
323323
Python/remote_debug.h @pablogsal
324324
Python/remote_debugging.c @pablogsal
325-
Modules/_remote_debugging_module.c @pablogsal @ambv @1st1
325+
Modules/_remote_debugging/ @pablogsal
326326

327327
# Sub-Interpreters
328328
**/*crossinterp* @ericsnowcurrently
@@ -537,6 +537,11 @@ Lib/pydoc.py @AA-Turner
537537
Lib/pydoc_data/ @AA-Turner
538538
Lib/test/test_pydoc/ @AA-Turner
539539

540+
# Profiling (Sampling)
541+
Doc/library/profiling*.rst @pablogsal
542+
Lib/profiling/ @pablogsal
543+
Lib/test/test_profiling/ @pablogsal
544+
540545
# PyREPL
541546
Lib/_pyrepl/ @pablogsal @lysnikolaou @ambv
542547
Lib/test/test_pyrepl/ @pablogsal @lysnikolaou @ambv

Doc/c-api/extension-modules.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ Legacy single-phase initialization
282282
However, there are no plans to remove support for it.
283283
284284
In single-phase initialization, the old-style
285-
:ref:`initializaton function <extension-pyinit>` (``PyInit_modulename``)
285+
:ref:`initialization function <extension-pyinit>` (``PyInit_modulename``)
286286
should create, populate and return a module object.
287287
This is typically done using :c:func:`PyModule_Create` and functions like
288288
:c:func:`PyModule_AddObjectRef`.

Doc/c-api/import.rst

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,7 @@ Importing Modules
129129
of :class:`~importlib.machinery.SourceFileLoader` otherwise.
130130
131131
The module's :attr:`~module.__file__` attribute will be set to the code
132-
object's :attr:`~codeobject.co_filename`. If applicable,
133-
:attr:`~module.__cached__` will also be set.
132+
object's :attr:`~codeobject.co_filename`.
134133
135134
This function will reload the module if it was already imported. See
136135
:c:func:`PyImport_ReloadModule` for the intended way to reload a module.
@@ -142,10 +141,13 @@ Importing Modules
142141
:c:func:`PyImport_ExecCodeModuleWithPathnames`.
143142
144143
.. versionchanged:: 3.12
145-
The setting of :attr:`~module.__cached__` and :attr:`~module.__loader__`
144+
The setting of ``__cached__`` and :attr:`~module.__loader__`
146145
is deprecated. See :class:`~importlib.machinery.ModuleSpec` for
147146
alternatives.
148147
148+
.. versionchanged:: 3.15
149+
``__cached__`` is no longer set.
150+
149151
150152
.. c:function:: PyObject* PyImport_ExecCodeModuleEx(const char *name, PyObject *co, const char *pathname)
151153
@@ -157,16 +159,19 @@ Importing Modules
157159
158160
.. c:function:: PyObject* PyImport_ExecCodeModuleObject(PyObject *name, PyObject *co, PyObject *pathname, PyObject *cpathname)
159161
160-
Like :c:func:`PyImport_ExecCodeModuleEx`, but the :attr:`~module.__cached__`
161-
attribute of the module object is set to *cpathname* if it is
162-
non-``NULL``. Of the three functions, this is the preferred one to use.
162+
Like :c:func:`PyImport_ExecCodeModuleEx`, but the path to any compiled file
163+
via *cpathname* is used appropriately when non-``NULL``. Of the three
164+
functions, this is the preferred one to use.
163165
164166
.. versionadded:: 3.3
165167
166168
.. versionchanged:: 3.12
167-
Setting :attr:`~module.__cached__` is deprecated. See
169+
Setting ``__cached__`` is deprecated. See
168170
:class:`~importlib.machinery.ModuleSpec` for alternatives.
169171
172+
.. versionchanged:: 3.15
173+
``__cached__`` no longer set.
174+
170175
171176
.. c:function:: PyObject* PyImport_ExecCodeModuleWithPathnames(const char *name, PyObject *co, const char *pathname, const char *cpathname)
172177

Doc/c-api/module.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,7 +588,7 @@ A module's token -- and the *your_token* value to use in the above code -- is:
588588
behave as if it was created from that :c:type:`PyModuleDef`.
589589
In particular, the module state must have matching layout and semantics.
590590
591-
Modules created from :c:type:`PyModuleDef` allways use the address of
591+
Modules created from :c:type:`PyModuleDef` always use the address of
592592
the :c:type:`PyModuleDef` as the token.
593593
This means that :c:macro:`!Py_mod_token` cannot be used in
594594
:c:member:`PyModuleDef.m_slots`.

Doc/deprecations/c-api-pending-removal-in-3.20.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
Pending removal in Python 3.20
22
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
33

4+
* :c:func:`!_PyObject_CallMethodId`, :c:func:`!_PyObject_GetAttrId` and
5+
:c:func:`!_PyUnicode_FromId` are deprecated since 3.15 and will be removed in
6+
3.20. Instead, use :c:func:`PyUnicode_FromString()` and cache the result in
7+
the module state, then call :c:func:`PyObject_CallMethod` or
8+
:c:func:`PyObject_GetAttr`.
9+
(Contributed by Victor Stinner in :gh:`141049`.)
10+
411
* The ``cval`` field in :c:type:`PyComplexObject` (:gh:`128813`).
512
Use :c:func:`PyComplex_AsCComplex` and :c:func:`PyComplex_FromCComplex`
613
to convert a Python complex number to/from the C :c:type:`Py_complex`

Doc/deprecations/pending-removal-in-3.15.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ Pending removal in Python 3.15
33

44
* The import system:
55

6-
* Setting :attr:`~module.__cached__` on a module while
6+
* Setting ``__cached__`` on a module while
77
failing to set :attr:`__spec__.cached <importlib.machinery.ModuleSpec.cached>`
8-
is deprecated. In Python 3.15, :attr:`!__cached__` will cease to be set or
8+
is deprecated. In Python 3.15, ``__cached__`` will cease to be set or
99
take into consideration by the import system or standard library. (:gh:`97879`)
1010

1111
* Setting :attr:`~module.__package__` on a module while

Doc/deprecations/pending-removal-in-3.20.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Pending removal in Python 3.20
99
- :mod:`csv`
1010
- :mod:`!ctypes.macholib`
1111
- :mod:`decimal` (use :data:`decimal.SPEC_VERSION` instead)
12+
- :mod:`http.server`
1213
- :mod:`imaplib`
1314
- :mod:`ipaddress`
1415
- :mod:`json`

Doc/howto/gdb_helpers.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ enabled::
136136
at Objects/unicodeobject.c:551
137137
#7 0x0000000000440d94 in PyUnicodeUCS2_FromString (u=0x5c2b8d "__lltrace__") at Objects/unicodeobject.c:569
138138
#8 0x0000000000584abd in PyDict_GetItemString (v=
139-
{'Yuck': <type at remote 0xad4730>, '__builtins__': <module at remote 0x7ffff7fd5ee8>, '__file__': 'Lib/test/crashers/nasty_eq_vs_dict.py', '__package__': None, 'y': <Yuck(i=0) at remote 0xaacd80>, 'dict': {0: 0, 1: 1, 2: 2, 3: 3}, '__cached__': None, '__name__': '__main__', 'z': <Yuck(i=0) at remote 0xaace60>, '__doc__': None}, key=
139+
{'Yuck': <type at remote 0xad4730>, '__builtins__': <module at remote 0x7ffff7fd5ee8>, '__file__': 'Lib/test/crashers/nasty_eq_vs_dict.py', '__package__': None, 'y': <Yuck(i=0) at remote 0xaacd80>, 'dict': {0: 0, 1: 1, 2: 2, 3: 3}, '__name__': '__main__', 'z': <Yuck(i=0) at remote 0xaace60>, '__doc__': None}, key=
140140
0x5c2b8d "__lltrace__") at Objects/dictobject.c:2171
141141

142142
Notice how the dictionary argument to ``PyDict_GetItemString`` is displayed

Doc/library/argparse.rst

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,27 @@ are set.
645645

646646
.. versionadded:: 3.14
647647

648+
To highlight inline code in your description or epilog text, you can use
649+
backticks::
650+
651+
>>> parser = argparse.ArgumentParser(
652+
... formatter_class=argparse.RawDescriptionHelpFormatter,
653+
... epilog='''Examples:
654+
... `python -m myapp --verbose`
655+
... `python -m myapp --config settings.json`
656+
... ''')
657+
658+
When colors are enabled, the text inside backticks will be displayed in a
659+
distinct color to help examples stand out. When colors are disabled, backticks
660+
are preserved as-is, which is readable in plain text.
661+
662+
.. note::
663+
664+
Backtick markup only applies to description and epilog text. It does not
665+
apply to individual argument ``help`` strings.
666+
667+
.. versionadded:: 3.15
668+
648669

649670
The add_argument() method
650671
-------------------------
@@ -1679,7 +1700,7 @@ The Namespace object
16791700
Other utilities
16801701
---------------
16811702

1682-
Sub-commands
1703+
Subcommands
16831704
^^^^^^^^^^^^
16841705

16851706
.. method:: ArgumentParser.add_subparsers(*, [title], [description], [prog], \
@@ -1708,7 +1729,7 @@ Sub-commands
17081729
* *description* - description for the sub-parser group in help output, by
17091730
default ``None``
17101731

1711-
* *prog* - usage information that will be displayed with sub-command help,
1732+
* *prog* - usage information that will be displayed with subcommand help,
17121733
by default the name of the program and any positional arguments before the
17131734
subparser argument
17141735

@@ -1718,7 +1739,7 @@ Sub-commands
17181739
* action_ - the basic type of action to be taken when this argument is
17191740
encountered at the command line
17201741

1721-
* dest_ - name of the attribute under which sub-command name will be
1742+
* dest_ - name of the attribute under which subcommand name will be
17221743
stored; by default ``None`` and no value is stored
17231744

17241745
* required_ - Whether or not a subcommand must be provided, by default

0 commit comments

Comments
 (0)