aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Langa <lukasz@langa.pl>2021-09-22 01:33:59 +0200
committerPablo Galindo <pablogsal@gmail.com>2021-09-29 12:36:59 +0100
commitb09a68ac87128ebb3dd82e22785b150de1cc2337 (patch)
tree8165581eadc7657d276ac7eed2f5c9590440b65a
parent[doc] Clarify exception in `multiprocessing.cpu_count` (GH-23660) (GH-28433) (diff)
downloadcpython-b09a68ac87128ebb3dd82e22785b150de1cc2337.tar.gz
cpython-b09a68ac87128ebb3dd82e22785b150de1cc2337.tar.bz2
cpython-b09a68ac87128ebb3dd82e22785b150de1cc2337.zip
[3.10] [codemod] Fix non-matching bracket pairs (GH-28473) (GH-28511)
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu> Co-authored-by: Serhiy Storchaka <storchaka@gmail.com> Co-authored-by: Łukasz Langa <lukasz@langa.pl> (cherry picked from commit 8f943ca25732d548cf9f0b0393ba8d582fb93e29) Co-authored-by: Mohamad Mansour <66031317+mohamadmansourX@users.noreply.github.com>
-rw-r--r--Doc/library/cgi.rst2
-rw-r--r--Doc/library/logging.config.rst2
-rw-r--r--Doc/library/urllib.request.rst2
-rw-r--r--Doc/reference/compound_stmts.rst2
-rw-r--r--Include/cpython/unicodeobject.h2
-rw-r--r--Include/internal/pycore_object.h2
-rw-r--r--Lib/_osx_support.py2
-rw-r--r--Lib/distutils/command/check.py2
-rw-r--r--Lib/distutils/msvc9compiler.py2
-rw-r--r--Lib/graphlib.py2
-rw-r--r--Lib/idlelib/idle_test/test_config_key.py2
-rw-r--r--Lib/idlelib/idle_test/test_query.py2
-rw-r--r--Lib/msilib/schema.py2
-rw-r--r--Lib/pkgutil.py2
-rw-r--r--Lib/pydoc_data/topics.py2
-rw-r--r--Lib/test/support/__init__.py4
-rw-r--r--Lib/test/test_format.py2
-rw-r--r--Lib/test/test_importlib/source/test_source_encoding.py2
-rw-r--r--Lib/test/test_winreg.py2
-rw-r--r--Misc/NEWS.d/3.8.0b1.rst2
-rw-r--r--Misc/NEWS.d/next/Build/2021-09-09-16-45-26.bpo-45067.mFmY92.rst7
-rw-r--r--Modules/_datetimemodule.c2
-rw-r--r--Modules/_math.c2
-rw-r--r--Modules/arraymodule.c4
-rw-r--r--Modules/clinic/arraymodule.c.h4
-rw-r--r--Modules/zlibmodule.c2
-rw-r--r--Objects/unicodeobject.c2
-rw-r--r--PC/getpathp.c2
-rw-r--r--Tools/stringbench/stringbench.py2
29 files changed, 38 insertions, 31 deletions
diff --git a/Doc/library/cgi.rst b/Doc/library/cgi.rst
index 1494fa7d524..c151f04dfb8 100644
--- a/Doc/library/cgi.rst
+++ b/Doc/library/cgi.rst
@@ -89,7 +89,7 @@ To get at submitted form data, use the :class:`FieldStorage` class. If the form
contains non-ASCII characters, use the *encoding* keyword parameter set to the
value of the encoding defined for the document. It is usually contained in the
META tag in the HEAD section of the HTML document or by the
-:mailheader:`Content-Type` header). This reads the form contents from the
+:mailheader:`Content-Type` header. This reads the form contents from the
standard input or the environment (depending on the value of various
environment variables set according to the CGI standard). Since it may consume
standard input, it should be instantiated only once.
diff --git a/Doc/library/logging.config.rst b/Doc/library/logging.config.rst
index d3478a94345..5a3e686802e 100644
--- a/Doc/library/logging.config.rst
+++ b/Doc/library/logging.config.rst
@@ -168,7 +168,7 @@ in :mod:`logging` itself) and defining handlers which are declared either in
:func:`listen` socket and sending a configuration which runs whatever
code the attacker wants to have executed in the victim's process. This is
especially easy to do if the default port is used, but not hard even if a
- different port is used). To avoid the risk of this happening, use the
+ different port is used. To avoid the risk of this happening, use the
``verify`` argument to :func:`listen` to prevent unrecognised
configurations from being applied.
diff --git a/Doc/library/urllib.request.rst b/Doc/library/urllib.request.rst
index 7af1da25ea7..659a3632ac9 100644
--- a/Doc/library/urllib.request.rst
+++ b/Doc/library/urllib.request.rst
@@ -655,7 +655,7 @@ OpenerDirector Objects
optional *timeout* parameter specifies a timeout in seconds for blocking
operations like the connection attempt (if not specified, the global default
timeout setting will be used). The timeout feature actually works only for
- HTTP, HTTPS and FTP connections).
+ HTTP, HTTPS and FTP connections.
.. method:: OpenerDirector.error(proto, *args)
diff --git a/Doc/reference/compound_stmts.rst b/Doc/reference/compound_stmts.rst
index a74389831a7..25abc1be6a5 100644
--- a/Doc/reference/compound_stmts.rst
+++ b/Doc/reference/compound_stmts.rst
@@ -1055,7 +1055,7 @@ subject value:
patterns using the :data:`~object.__match_args__` attribute on the class
``name_or_attr`` before matching:
- I. The equivalent of ``getattr(cls, "__match_args__", ()))`` is called.
+ I. The equivalent of ``getattr(cls, "__match_args__", ())`` is called.
* If this raises an exception, the exception bubbles up.
diff --git a/Include/cpython/unicodeobject.h b/Include/cpython/unicodeobject.h
index 30bf994cda3..0b5067f5d3f 100644
--- a/Include/cpython/unicodeobject.h
+++ b/Include/cpython/unicodeobject.h
@@ -416,7 +416,7 @@ enum PyUnicode_Kind {
/* Fast check to determine whether an object is ready. Equivalent to
- PyUnicode_IS_COMPACT(op) || ((PyUnicodeObject*)(op))->data.any) */
+ PyUnicode_IS_COMPACT(op) || ((PyUnicodeObject*)(op))->data.any */
#define PyUnicode_IS_READY(op) (((PyASCIIObject*)op)->state.ready)
diff --git a/Include/internal/pycore_object.h b/Include/internal/pycore_object.h
index 9dfc8c62bab..6be8cb5e203 100644
--- a/Include/internal/pycore_object.h
+++ b/Include/internal/pycore_object.h
@@ -168,7 +168,7 @@ _PyObject_IS_GC(PyObject *obj)
// Fast inlined version of PyType_IS_GC()
#define _PyType_IS_GC(t) _PyType_HasFeature((t), Py_TPFLAGS_HAVE_GC)
-// Usage: assert(_Py_CheckSlotResult(obj, "__getitem__", result != NULL)));
+// Usage: assert(_Py_CheckSlotResult(obj, "__getitem__", result != NULL));
extern int _Py_CheckSlotResult(
PyObject *obj,
const char *slot_name,
diff --git a/Lib/_osx_support.py b/Lib/_osx_support.py
index 326b36d6116..aa66c8b9f41 100644
--- a/Lib/_osx_support.py
+++ b/Lib/_osx_support.py
@@ -481,7 +481,7 @@ def customize_compiler(_config_vars):
This customization is performed when the first
extension module build is requested
- in distutils.sysconfig.customize_compiler).
+ in distutils.sysconfig.customize_compiler.
"""
# Find a compiler to use for extension module builds
diff --git a/Lib/distutils/command/check.py b/Lib/distutils/command/check.py
index ada25006467..73a30f3afd8 100644
--- a/Lib/distutils/command/check.py
+++ b/Lib/distutils/command/check.py
@@ -83,7 +83,7 @@ class check(Command):
name, version, URL
Recommended fields:
- (author and author_email) or (maintainer and maintainer_email))
+ (author and author_email) or (maintainer and maintainer_email)
Warns if any are missing.
"""
diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py
index 6934e964abd..a7976fbe3ed 100644
--- a/Lib/distutils/msvc9compiler.py
+++ b/Lib/distutils/msvc9compiler.py
@@ -673,7 +673,7 @@ class MSVCCompiler(CCompiler) :
# If a manifest should be embedded, return a tuple of
# (manifest_filename, resource_id). Returns None if no manifest
# should be embedded. See http://bugs.python.org/issue7833 for why
- # we want to avoid any manifest for extension modules if we can)
+ # we want to avoid any manifest for extension modules if we can.
for arg in ld_args:
if arg.startswith("/MANIFESTFILE:"):
temp_manifest = arg.split(":", 1)[1]
diff --git a/Lib/graphlib.py b/Lib/graphlib.py
index d0e7a4814c5..1c5d9a413c9 100644
--- a/Lib/graphlib.py
+++ b/Lib/graphlib.py
@@ -17,7 +17,7 @@ class _NodeInfo:
self.npredecessors = 0
# List of successor nodes. The list can contain duplicated elements as
- # long as they're all reflected in the successor's npredecessors attribute).
+ # long as they're all reflected in the successor's npredecessors attribute.
self.successors = []
diff --git a/Lib/idlelib/idle_test/test_config_key.py b/Lib/idlelib/idle_test/test_config_key.py
index b7fe7fd6b5e..bf66cadf57c 100644
--- a/Lib/idlelib/idle_test/test_config_key.py
+++ b/Lib/idlelib/idle_test/test_config_key.py
@@ -2,7 +2,7 @@
Coverage is effectively 100%. Tkinter dialog is mocked, Mac-only line
may be skipped, and dummy function in bind test should not be called.
-Not tested: exit with 'self.advanced or self.keys_ok(keys)) ...' False.
+Not tested: exit with 'self.advanced or self.keys_ok(keys) ...' False.
"""
from idlelib import config_key
diff --git a/Lib/idlelib/idle_test/test_query.py b/Lib/idlelib/idle_test/test_query.py
index e968862688b..6902b800d5f 100644
--- a/Lib/idlelib/idle_test/test_query.py
+++ b/Lib/idlelib/idle_test/test_query.py
@@ -1,4 +1,4 @@
-"""Test query, coverage 93%).
+"""Test query, coverage 93%.
Non-gui tests for Query, SectionName, ModuleName, and HelpSource use
dummy versions that extract the non-gui methods and add other needed
diff --git a/Lib/msilib/schema.py b/Lib/msilib/schema.py
index eeb3ecd27ab..9f5745cfb14 100644
--- a/Lib/msilib/schema.py
+++ b/Lib/msilib/schema.py
@@ -664,7 +664,7 @@ _Validation_records = [
('Class','Component_','N',None, None, 'Component',1,'Identifier',None, 'Required foreign key into the Component Table, specifying the component for which to return a path when called through LocateComponent.',),
('Class','Context','N',None, None, None, None, 'Identifier',None, 'The numeric server context for this server. CLSCTX_xxxx',),
('Class','DefInprocHandler','Y',None, None, None, None, 'Filename','1;2;3','Optional default inproc handler. Only optionally provided if Context=CLSCTX_LOCAL_SERVER. Typically "ole32.dll" or "mapi32.dll"',),
-('Class','FileTypeMask','Y',None, None, None, None, 'Text',None, 'Optional string containing information for the HKCRthis CLSID) key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...',),
+('Class','FileTypeMask','Y',None, None, None, None, 'Text',None, 'Optional string containing information for the HKCRthis CLSID key. If multiple patterns exist, they must be delimited by a semicolon, and numeric subkeys will be generated: 0,1,2...',),
('Class','Icon_','Y',None, None, 'Icon',1,'Identifier',None, 'Optional foreign key into the Icon Table, specifying the icon file associated with this CLSID. Will be written under the DefaultIcon key.',),
('Class','IconIndex','Y',-32767,32767,None, None, None, None, 'Optional icon index.',),
('Class','ProgId_Default','Y',None, None, 'ProgId',1,'Text',None, 'Optional ProgId associated with this CLSID.',),
diff --git a/Lib/pkgutil.py b/Lib/pkgutil.py
index 2c3429856be..8e010c79c12 100644
--- a/Lib/pkgutil.py
+++ b/Lib/pkgutil.py
@@ -671,7 +671,7 @@ def resolve_name(name):
ValueError - if `name` isn't in a recognised format
ImportError - if an import failed when it shouldn't have
AttributeError - if a failure occurred when traversing the object hierarchy
- within the imported package to get to the desired object)
+ within the imported package to get to the desired object.
"""
global _NAME_PATTERN
if _NAME_PATTERN is None:
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index a1a81cb6878..e80f49ef1e6 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -3417,7 +3417,7 @@ topics = {'assert': 'The "assert" statement\n'
'class\n'
' "name_or_attr" before matching:\n'
'\n'
- ' I. The equivalent of "getattr(cls, "__match_args__", ()))" '
+ ' I. The equivalent of "getattr(cls, "__match_args__", ())" '
'is\n'
' called.\n'
'\n'
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index abc2a189ffc..318f47e2253 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -390,8 +390,8 @@ PIPE_MAX_SIZE = 4 * 1024 * 1024 + 1
# A constant likely larger than the underlying OS socket buffer size, to make
# writes blocking.
# The socket buffer sizes can usually be tuned system-wide (e.g. through sysctl
-# on Linux), or on a per-socket basis (SO_SNDBUF/SO_RCVBUF). See issue #18643
-# for a discussion of this number).
+# on Linux), or on a per-socket basis (SO_SNDBUF/SO_RCVBUF). See issue #18643
+# for a discussion of this number.
SOCK_MAX_SIZE = 16 * 1024 * 1024 + 1
# decorator for skipping tests on non-IEEE 754 platforms
diff --git a/Lib/test/test_format.py b/Lib/test/test_format.py
index 6679bd3d889..ae0d4f7308e 100644
--- a/Lib/test/test_format.py
+++ b/Lib/test/test_format.py
@@ -249,7 +249,7 @@ class FormatTest(unittest.TestCase):
# base marker shouldn't change the size
testcommon("%0#35.33o", big, "0o012345670123456701234567012345670")
- # Some small ints, in both Python int and flavors).
+ # Some small ints, in both Python int and flavors.
testcommon("%d", 42, "42")
testcommon("%d", -42, "-42")
testcommon("%d", 42.0, "42")
diff --git a/Lib/test/test_importlib/source/test_source_encoding.py b/Lib/test/test_importlib/source/test_source_encoding.py
index 980855fe1ad..c0b9b031262 100644
--- a/Lib/test/test_importlib/source/test_source_encoding.py
+++ b/Lib/test/test_importlib/source/test_source_encoding.py
@@ -23,7 +23,7 @@ class EncodingTest:
PEP 263 specifies how that can change on a per-file basis. Either the first
or second line can contain the encoding line [encoding first line]
- encoding second line]. If the file has the BOM marker it is considered UTF-8
+ [encoding second line]. If the file has the BOM marker it is considered UTF-8
implicitly [BOM]. If any encoding is specified it must be UTF-8, else it is
an error [BOM and utf-8][BOM conflict].
diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py
index 487abcd8d95..e7aa615e7f4 100644
--- a/Lib/test/test_winreg.py
+++ b/Lib/test/test_winreg.py
@@ -46,7 +46,7 @@ test_data = [
("Raw Data", b"binary\x00data", REG_BINARY),
("Big String", "x"*(2**14-1), REG_SZ),
("Big Binary", b"x"*(2**14), REG_BINARY),
- # Two and three kanjis, meaning: "Japan" and "Japanese")
+ # Two and three kanjis, meaning: "Japan" and "Japanese".
("Japanese 日本", "日本語", REG_SZ),
]
diff --git a/Misc/NEWS.d/3.8.0b1.rst b/Misc/NEWS.d/3.8.0b1.rst
index 5400c077952..5285770de13 100644
--- a/Misc/NEWS.d/3.8.0b1.rst
+++ b/Misc/NEWS.d/3.8.0b1.rst
@@ -568,7 +568,7 @@ Make :func:`asyncio.create_subprocess_exec` accept path-like arguments.
.. section: Library
Change default *max_workers* of ``ThreadPoolExecutor`` from ``cpu_count() *
-5`` to ``min(32, cpu_count() + 4))``. Previous value was unreasonably large
+5`` to ``min(32, cpu_count() + 4)``. Previous value was unreasonably large
on many cores machines.
..
diff --git a/Misc/NEWS.d/next/Build/2021-09-09-16-45-26.bpo-45067.mFmY92.rst b/Misc/NEWS.d/next/Build/2021-09-09-16-45-26.bpo-45067.mFmY92.rst
new file mode 100644
index 00000000000..a89736eb33e
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2021-09-09-16-45-26.bpo-45067.mFmY92.rst
@@ -0,0 +1,7 @@
+The ncurses function extended_color_content was introduced in 2017
+
+(https://invisible-island.net/ncurses/NEWS.html#index-t20170401). The
+
+ncurses-devel package in CentOS 7 had a older version ncurses resulted in
+compilation error. For compiling ncurses with extended color support, we
+verify the version of the ncurses library >= 20170401.
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index 8ef2dad37a3..e54a01b44c5 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -1013,7 +1013,7 @@ new_time_ex(int hour, int minute, int second, int usecond,
* true. Passing false is a speed optimization, if you know for sure
* that seconds and microseconds are already in their proper ranges. In any
* case, raises OverflowError and returns NULL if the normalized days is out
- * of range).
+ * of range.
*/
static PyObject *
new_delta_ex(int days, int seconds, int microseconds, int normalize,
diff --git a/Modules/_math.c b/Modules/_math.c
index 02d8f1c43c8..68e3a234692 100644
--- a/Modules/_math.c
+++ b/Modules/_math.c
@@ -90,7 +90,7 @@ _Py_acosh(double x)
* asinh(x) = sign(x) * log [ |x| + sqrt(x*x+1) ]
* we have
* asinh(x) := x if 1+x*x=1,
- * := sign(x)*(log(x)+ln2)) for large |x|, else
+ * := sign(x)*(log(x)+ln2) for large |x|, else
* := sign(x)*log(2|x|+1/(|x|+sqrt(x*x+1))) if|x|>2, else
* := sign(x)*log1p(|x| + x^2/(1 + sqrt(1+x^2)))
*/
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 1d9d4cd591a..72b90111a83 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -1678,12 +1678,12 @@ array.array.frombytes
buffer: Py_buffer
/
-Appends items from the string, interpreting it as an array of machine values, as if it had been read from a file using the fromfile() method).
+Appends items from the string, interpreting it as an array of machine values, as if it had been read from a file using the fromfile() method.
[clinic start generated code]*/
static PyObject *
array_array_frombytes_impl(arrayobject *self, Py_buffer *buffer)
-/*[clinic end generated code: output=d9842c8f7510a516 input=2bbf2b53ebfcc988]*/
+/*[clinic end generated code: output=d9842c8f7510a516 input=378db226dfac949e]*/
{
return frombytes(self, buffer);
}
diff --git a/Modules/clinic/arraymodule.c.h b/Modules/clinic/arraymodule.c.h
index d2513eb4f48..c46cc738de9 100644
--- a/Modules/clinic/arraymodule.c.h
+++ b/Modules/clinic/arraymodule.c.h
@@ -359,7 +359,7 @@ PyDoc_STRVAR(array_array_frombytes__doc__,
"frombytes($self, buffer, /)\n"
"--\n"
"\n"
-"Appends items from the string, interpreting it as an array of machine values, as if it had been read from a file using the fromfile() method).");
+"Appends items from the string, interpreting it as an array of machine values, as if it had been read from a file using the fromfile() method.");
#define ARRAY_ARRAY_FROMBYTES_METHODDEF \
{"frombytes", (PyCFunction)array_array_frombytes, METH_O, array_array_frombytes__doc__},
@@ -572,4 +572,4 @@ PyDoc_STRVAR(array_arrayiterator___setstate____doc__,
#define ARRAY_ARRAYITERATOR___SETSTATE___METHODDEF \
{"__setstate__", (PyCFunction)array_arrayiterator___setstate__, METH_O, array_arrayiterator___setstate____doc__},
-/*[clinic end generated code: output=376001addedc67ee input=a9049054013a1b77]*/
+/*[clinic end generated code: output=f130a994f98f1227 input=a9049054013a1b77]*/
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index 3efb24a679c..bc4ff608e81 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -1504,7 +1504,7 @@ PyDoc_STRVAR(zlib_module_documentation,
"compressobj([level[, ...]]) -- Return a compressor object.\n"
"crc32(string[, start]) -- Compute a CRC-32 checksum.\n"
"decompress(string,[wbits],[bufsize]) -- Decompresses a compressed string.\n"
-"decompressobj([wbits[, zdict]]]) -- Return a decompressor object.\n"
+"decompressobj([wbits[, zdict]]) -- Return a decompressor object.\n"
"\n"
"'wbits' is window buffer size and container format.\n"
"Compressor objects support compress() and flush() methods; decompressor\n"
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 342e7eec061..849dd5cfe2f 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -11023,7 +11023,7 @@ replace(PyObject *self, PyObject *str1,
release1 = 1;
}
/* new_size = PyUnicode_GET_LENGTH(self) + n * (PyUnicode_GET_LENGTH(str2) -
- PyUnicode_GET_LENGTH(str1))); */
+ PyUnicode_GET_LENGTH(str1)); */
if (len1 < len2 && len2 - len1 > (PY_SSIZE_T_MAX - slen) / n) {
PyErr_SetString(PyExc_OverflowError,
"replace string is too long");
diff --git a/PC/getpathp.c b/PC/getpathp.c
index 53da3a6d05f..603a1eb13c4 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -29,7 +29,7 @@
- If we DO have a Python Home: The relevant sub-directories (Lib,
DLLs, etc) are based on the Python Home
- If we DO NOT have a Python Home, the core Python Path is
- loaded from the registry. This is the main PythonPath key,
+ loaded from the registry. (This is the main PythonPath key,
and both HKLM and HKCU are combined to form the path)
* Iff - we can not locate the Python Home, have not had a PYTHONPATH
diff --git a/Tools/stringbench/stringbench.py b/Tools/stringbench/stringbench.py
index 5abc25a5723..5d2b4146378 100644
--- a/Tools/stringbench/stringbench.py
+++ b/Tools/stringbench/stringbench.py
@@ -730,7 +730,7 @@ def join_alphabet_list_five(STR):
for x in _RANGE_1000:
sep_join(s2)
-@bench('"A".join(["Bob"]*100))',
+@bench('"A".join(["Bob"]*100)',
"join list of 100 words, with 1 character sep", 1000)
def join_100_words_single(STR):
sep = STR("A")