Skip to content

Commit d5f49b2

Browse files
committed
Merge with main: resolve boolobject.c includes
2 parents 731f79d + 7fce106 commit d5f49b2

File tree

237 files changed

+7446
-3463
lines changed

Some content is hidden

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

237 files changed

+7446
-3463
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ Objects/call.c @markshannon
2020
Python/ceval.c @markshannon
2121
Python/compile.c @markshannon
2222
Python/ast_opt.c @isidentical
23+
Lib/test/test_patma.py @brandtbucher
24+
Lib/test/test_peepholer.py @brandtbucher
2325

2426
# Exceptions
2527
Lib/traceback.py @iritkatriel
@@ -136,7 +138,7 @@ Lib/ast.py @isidentical
136138

137139
**/*idlelib* @terryjreedy
138140

139-
**/*typing* @gvanrossum @Fidget-Spinner
141+
**/*typing* @gvanrossum @Fidget-Spinner @JelleZijlstra
140142

141143
**/*asyncore @giampaolo
142144
**/*asynchat @giampaolo

.github/workflows/build.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,6 @@ jobs:
100100
run: make smelly
101101
- name: Check limited ABI symbols
102102
run: make check-limited-abi
103-
- name: Check global objects
104-
run: make check-global-objects
105103

106104
build_win32:
107105
name: 'Windows (x86)'

.github/workflows/doc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
- name: 'Build HTML documentation'
4949
run: make -C Doc/ PYTHON=../python SPHINXOPTS="-q -W --keep-going -j4" html
5050
- name: 'Upload'
51-
uses: actions/upload-artifact@v2.2.4
51+
uses: actions/upload-artifact@v2.3.1
5252
with:
5353
name: doc-html
5454
path: Doc/build/html

.github/workflows/stale.yml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,27 @@ jobs:
1414
runs-on: ubuntu-latest
1515

1616
steps:
17-
- uses: actions/stale@v4
17+
- name: "Check PRs with 'CLA signed' label"
18+
uses: actions/stale@v4
1819
with:
1920
repo-token: ${{ secrets.GITHUB_TOKEN }}
21+
only-pr-labels: 'CLA signed'
2022
stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity.'
2123
stale-pr-label: 'stale'
2224
days-before-stale: 30
2325
days-before-close: -1
26+
ascending: true
27+
operations-per-run: 120
28+
29+
- name: "Check PRs with 'CLA not signed' label"
30+
uses: actions/stale@v4
31+
with:
32+
repo-token: ${{ secrets.GITHUB_TOKEN }}
33+
only-pr-labels: 'CLA not signed'
34+
stale-pr-message: 'This PR is stale because it has been open for 30 days with no activity. If the CLA is not signed within 14 days, it will be closed. See also https://devguide.python.org/pullrequest/#licensing'
35+
stale-pr-label: 'stale'
36+
close-pr-message: 'Closing this stale PR because the CLA is still not signed.'
37+
days-before-stale: 30
38+
days-before-close: 14
39+
ascending: true
40+
operations-per-run: 120

Doc/c-api/exceptions.rst

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,14 @@ For convenience, some of these functions will always return a
253253
.. versionadded:: 3.3
254254
255255
256+
.. c:function:: PyObject* PyErr_SetImportErrorSubclass(PyObject *exception, PyObject *msg, PyObject *name, PyObject *path)
257+
258+
Much like :c:func:`PyErr_SetImportError` but this function allows for
259+
specifying a subclass of :exc:`ImportError` to raise.
260+
261+
.. versionadded:: 3.6
262+
263+
256264
.. c:function:: void PyErr_SyntaxLocationObject(PyObject *filename, int lineno, int col_offset)
257265
258266
Set file, line, and offset information for the current exception. If the
@@ -320,13 +328,6 @@ an error value).
320328
:mod:`warnings` module and the :option:`-W` option in the command line
321329
documentation. There is no C API for warning control.
322330
323-
.. c:function:: PyObject* PyErr_SetImportErrorSubclass(PyObject *exception, PyObject *msg, PyObject *name, PyObject *path)
324-
325-
Much like :c:func:`PyErr_SetImportError` but this function allows for
326-
specifying a subclass of :exc:`ImportError` to raise.
327-
328-
.. versionadded:: 3.6
329-
330331
331332
.. c:function:: int PyErr_WarnExplicitObject(PyObject *category, PyObject *message, PyObject *filename, int lineno, PyObject *module, PyObject *registry)
332333

Doc/c-api/reflection.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Reflection
3131
See also :c:func:`PyThreadState_GetFrame`.
3232
3333
34-
.. c:function:: int PyFrame_GetBack(PyFrameObject *frame)
34+
.. c:function:: PyFrameObject* PyFrame_GetBack(PyFrameObject *frame)
3535
3636
Get the *frame* next outer frame.
3737
@@ -42,7 +42,7 @@ Reflection
4242
.. versionadded:: 3.9
4343
4444
45-
.. c:function:: int PyFrame_GetCode(PyFrameObject *frame)
45+
.. c:function:: PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
4646
4747
Get the *frame* code.
4848

Doc/c-api/typeobj.rst

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ PyObject Slots
476476
--------------
477477

478478
The type object structure extends the :c:type:`PyVarObject` structure. The
479-
:attr:`ob_size` field is used for dynamic types (created by :func:`type_new`,
479+
:attr:`ob_size` field is used for dynamic types (created by :func:`type_new`,
480480
usually called from a class statement). Note that :c:data:`PyType_Type` (the
481481
metatype) initializes :c:member:`~PyTypeObject.tp_itemsize`, which means that its instances (i.e.
482482
type objects) *must* have the :attr:`ob_size` field.
@@ -2000,6 +2000,17 @@ and :c:type:`PyType_Type` effectively act as defaults.)
20002000
For this field to be taken into account (even through inheritance),
20012001
you must also set the :const:`Py_TPFLAGS_HAVE_FINALIZE` flags bit.
20022002

2003+
Also, note that, in a garbage collected Python,
2004+
:c:member:`~PyTypeObject.tp_dealloc` may be called from
2005+
any Python thread, not just the thread which created the object (if the object
2006+
becomes part of a refcount cycle, that cycle might be collected by a garbage
2007+
collection on any thread). This is not a problem for Python API calls, since
2008+
the thread on which tp_dealloc is called will own the Global Interpreter Lock
2009+
(GIL). However, if the object being destroyed in turn destroys objects from some
2010+
other C or C++ library, care should be taken to ensure that destroying those
2011+
objects on the thread which called tp_dealloc will not violate any assumptions
2012+
of the library.
2013+
20032014
**Inheritance:**
20042015

20052016
This field is inherited by subtypes.
@@ -2024,17 +2035,6 @@ and :c:type:`PyType_Type` effectively act as defaults.)
20242035
.. versionadded:: 3.9 (the field exists since 3.8 but it's only used since 3.9)
20252036

20262037

2027-
Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject.tp_dealloc` may be called from
2028-
any Python thread, not just the thread which created the object (if the object
2029-
becomes part of a refcount cycle, that cycle might be collected by a garbage
2030-
collection on any thread). This is not a problem for Python API calls, since
2031-
the thread on which tp_dealloc is called will own the Global Interpreter Lock
2032-
(GIL). However, if the object being destroyed in turn destroys objects from some
2033-
other C or C++ library, care should be taken to ensure that destroying those
2034-
objects on the thread which called tp_dealloc will not violate any assumptions
2035-
of the library.
2036-
2037-
20382038
.. _static-types:
20392039

20402040
Static Types
@@ -2440,7 +2440,8 @@ Async Object Structures
24402440

24412441
PyObject *am_aiter(PyObject *self);
24422442

2443-
Must return an :term:`awaitable` object. See :meth:`__anext__` for details.
2443+
Must return an :term:`asynchronous iterator` object.
2444+
See :meth:`__anext__` for details.
24442445

24452446
This slot may be set to ``NULL`` if an object does not implement
24462447
asynchronous iteration protocol.

Doc/c-api/unicode.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1003,7 +1003,7 @@ Error handling is set by errors which may also be set to ``NULL`` meaning to use
10031003
the default handling defined for the codec. Default error handling for all
10041004
built-in codecs is "strict" (:exc:`ValueError` is raised).
10051005
1006-
The codecs all use a similar interface. Only deviation from the following
1006+
The codecs all use a similar interface. Only deviations from the following
10071007
generic ones are documented for simplicity.
10081008
10091009
@@ -1171,7 +1171,7 @@ These are the UTF-16 codec APIs:
11711171
``1``, any byte order mark is copied to the output (where it will result in
11721172
either a ``\ufeff`` or a ``\ufffe`` character).
11731173
1174-
After completion, *\*byteorder* is set to the current byte order at the end
1174+
After completion, ``*byteorder`` is set to the current byte order at the end
11751175
of input data.
11761176
11771177
If *byteorder* is ``NULL``, the codec starts in native order mode.
@@ -1302,7 +1302,7 @@ Character Map Codecs
13021302
13031303
This codec is special in that it can be used to implement many different codecs
13041304
(and this is in fact what was done to obtain most of the standard codecs
1305-
included in the :mod:`encodings` package). The codec uses mapping to encode and
1305+
included in the :mod:`encodings` package). The codec uses mappings to encode and
13061306
decode characters. The mapping objects provided must support the
13071307
:meth:`__getitem__` mapping interface; dictionaries and sequences work well.
13081308
@@ -1426,7 +1426,7 @@ They all return ``NULL`` or ``-1`` if an exception occurs.
14261426
.. c:function:: PyObject* PyUnicode_Splitlines(PyObject *s, int keepend)
14271427
14281428
Split a Unicode string at line breaks, returning a list of Unicode strings.
1429-
CRLF is considered to be one line break. If *keepend* is ``0``, the Line break
1429+
CRLF is considered to be one line break. If *keepend* is ``0``, the line break
14301430
characters are not included in the resulting strings.
14311431
14321432

Doc/c-api/veryhigh.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@ the same library that the Python runtime is using.
7575
:c:func:`PyRun_SimpleFile`. *filename* is decoded from the filesystem
7676
encoding (:func:`sys.getfilesystemencoding`). If *filename* is ``NULL``, this
7777
function uses ``"???"`` as the filename.
78+
If *closeit* is true, the file is closed before
79+
``PyRun_SimpleFileExFlags()`` returns.
7880
7981
8082
.. c:function:: int PyRun_SimpleString(const char *command)

Doc/faq/programming.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1819,7 +1819,7 @@ for ``None``. This reads like plain English in code and avoids confusion with
18191819
other objects that may have boolean values that evaluate to false.
18201820

18211821
2) Detecting optional arguments can be tricky when ``None`` is a valid input
1822-
value. In those situations, you can create an singleton sentinel object
1822+
value. In those situations, you can create a singleton sentinel object
18231823
guaranteed to be distinct from other objects. For example, here is how
18241824
to implement a method that behaves like :meth:`dict.pop`::
18251825

@@ -1908,7 +1908,7 @@ The *cached_property* approach only works with methods that do not take
19081908
any arguments. It does not create a reference to the instance. The
19091909
cached method result will be kept only as long as the instance is alive.
19101910

1911-
The advantage is that when an instance is not longer used, the cached
1911+
The advantage is that when an instance is no longer used, the cached
19121912
method result will be released right away. The disadvantage is that if
19131913
instances accumulate, so too will the accumulated method results. They
19141914
can grow without bound.

0 commit comments

Comments
 (0)