diff --git a/Doc/c-api/set.rst b/Doc/c-api/set.rst index 7f4d534a700dae..8de0394112e9ce 100644 --- a/Doc/c-api/set.rst +++ b/Doc/c-api/set.rst @@ -128,7 +128,7 @@ or :class:`frozenset` or instances of their subtypes. of brand new frozensets before they are exposed to other code). Return 0 on success or -1 on failure. Raise a :exc:`TypeError` if the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to grow. Raise a - :exc:`SystemError` if *set* is an not an instance of :class:`set` or its + :exc:`SystemError` if *set* is not an instance of :class:`set` or its subtype. @@ -142,7 +142,7 @@ subtypes but not for instances of :class:`frozenset` or its subtypes. error is encountered. Does not raise :exc:`KeyError` for missing keys. Raise a :exc:`TypeError` if the *key* is unhashable. Unlike the Python :meth:`~set.discard` method, this function does not automatically convert unhashable sets into - temporary frozensets. Raise :exc:`PyExc_SystemError` if *set* is an not an + temporary frozensets. Raise :exc:`PyExc_SystemError` if *set* is not an instance of :class:`set` or its subtype. @@ -150,7 +150,7 @@ subtypes but not for instances of :class:`frozenset` or its subtypes. Return a new reference to an arbitrary object in the *set*, and removes the object from the *set*. Return *NULL* on failure. Raise :exc:`KeyError` if the - set is empty. Raise a :exc:`SystemError` if *set* is an not an instance of + set is empty. Raise a :exc:`SystemError` if *set* is not an instance of :class:`set` or its subtype. diff --git a/Doc/c-api/unicode.rst b/Doc/c-api/unicode.rst index 1ed81403b4f87a..0b45958793dec9 100644 --- a/Doc/c-api/unicode.rst +++ b/Doc/c-api/unicode.rst @@ -367,7 +367,7 @@ These APIs can be used to work with surrogates: .. c:macro:: Py_UNICODE_IS_HIGH_SURROGATE(ch) - Check if *ch* is an high surrogate (``0xD800 <= ch <= 0xDBFF``). + Check if *ch* is a high surrogate (``0xD800 <= ch <= 0xDBFF``). .. c:macro:: Py_UNICODE_IS_LOW_SURROGATE(ch) @@ -450,7 +450,7 @@ APIs: | :attr:`%%` | *n/a* | The literal % character. | +-------------------+---------------------+--------------------------------+ | :attr:`%c` | int | A single character, | - | | | represented as an C int. | + | | | represented as a C int. | +-------------------+---------------------+--------------------------------+ | :attr:`%d` | int | Exactly equivalent to | | | | ``printf("%d")``. | diff --git a/Doc/distutils/apiref.rst b/Doc/distutils/apiref.rst index e66835a811402c..7d6a84e159a2d0 100644 --- a/Doc/distutils/apiref.rst +++ b/Doc/distutils/apiref.rst @@ -837,7 +837,7 @@ selection by :class:`MSVCCompiler`. .. module:: distutils.bcppcompiler -This module provides :class:`BorlandCCompiler`, an subclass of the abstract +This module provides :class:`BorlandCCompiler`, a subclass of the abstract :class:`CCompiler` class for the Borland C++ compiler. diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst index 659b37c06e6e8f..f68b19d8676e5b 100644 --- a/Doc/library/asyncio-eventloop.rst +++ b/Doc/library/asyncio-eventloop.rst @@ -513,7 +513,7 @@ Low-level socket operations The *address* must be already resolved to avoid the trap of hanging the entire event loop when the address requires doing a DNS lookup. For - example, it must be an IP address, not an hostname, for + example, it must be an IP address, not a hostname, for :py:data:`~socket.AF_INET` and :py:data:`~socket.AF_INET6` address families. Use :meth:`getaddrinfo` to resolve the hostname asynchronously. diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst index 828d7ca4a36d67..e2a18c1db18ff7 100644 --- a/Doc/library/ctypes.rst +++ b/Doc/library/ctypes.rst @@ -671,7 +671,7 @@ positive integer:: TenPointsArrayType = POINT * 10 -Here is an example of an somewhat artificial data type, a structure containing 4 +Here is an example of a somewhat artificial data type, a structure containing 4 POINTs among other stuff:: >>> from ctypes import * @@ -1888,7 +1888,7 @@ Utility functions .. function:: POINTER(type) This factory function creates and returns a new ctypes pointer type. Pointer - types are cached an reused internally, so calling this function repeatedly is + types are cached and reused internally, so calling this function repeatedly is cheap. *type* must be a ctypes type. diff --git a/Doc/library/idle.rst b/Doc/library/idle.rst index 4384d56814e1e6..df08fe8b5b12ee 100644 --- a/Doc/library/idle.rst +++ b/Doc/library/idle.rst @@ -128,7 +128,7 @@ Find Selection Search for the currently selected string, if there is one. Find in Files... - Open a file search dialog. Put results in an new output window. + Open a file search dialog. Put results in a new output window. Replace... Open a search-and-replace dialog. diff --git a/Doc/library/shutil.rst b/Doc/library/shutil.rst index 904627f431b13c..c39a19abc9dff3 100644 --- a/Doc/library/shutil.rst +++ b/Doc/library/shutil.rst @@ -342,7 +342,7 @@ Directory and files operations Return the path to an executable which would be run if the given *cmd* was called. If no *cmd* would be called, return ``None``. - *mode* is a permission mask passed a to :func:`os.access`, by default + *mode* is a permission mask passed to :func:`os.access`, by default determining if the file exists and executable. When no *path* is specified, the results of :func:`os.environ` are used, diff --git a/Doc/library/tarfile.rst b/Doc/library/tarfile.rst index 5fa4787a0c1dd5..bf90fc40c93428 100644 --- a/Doc/library/tarfile.rst +++ b/Doc/library/tarfile.rst @@ -129,7 +129,7 @@ Some facts and figures: | ``'r|bz2'`` | Open a bzip2 compressed *stream* for | | | reading. | +-------------+--------------------------------------------+ - | ``'r|xz'`` | Open a lzma compressed *stream* for | + | ``'r|xz'`` | Open an lzma compressed *stream* for | | | reading. | +-------------+--------------------------------------------+ | ``'w|'`` | Open an uncompressed *stream* for writing. | diff --git a/Doc/library/tkinter.tix.rst b/Doc/library/tkinter.tix.rst index 9de73ade421ea8..9da79596a6a68c 100644 --- a/Doc/library/tkinter.tix.rst +++ b/Doc/library/tkinter.tix.rst @@ -267,7 +267,7 @@ File Selectors The `ExFileSelectBox `_ - widget is usually embedded in a tixExFileSelectDialog widget. It provides an + widget is usually embedded in a tixExFileSelectDialog widget. It provides a convenient method for the user to select files. The style of the :class:`ExFileSelectBox` widget is very similar to the standard file dialog on MS Windows 3.1. diff --git a/Doc/tutorial/datastructures.rst b/Doc/tutorial/datastructures.rst index 0d51480177d882..b39bdf4dfb288b 100644 --- a/Doc/tutorial/datastructures.rst +++ b/Doc/tutorial/datastructures.rst @@ -397,7 +397,7 @@ objects, such as lists. Though tuples may seem similar to lists, they are often used in different situations and for different purposes. -Tuples are :term:`immutable`, and usually contain an heterogeneous sequence of +Tuples are :term:`immutable`, and usually contain a heterogeneous sequence of elements that are accessed via unpacking (see later in this section) or indexing (or even by attribute in the case of :func:`namedtuples `). Lists are :term:`mutable`, and their elements are usually homogeneous and are diff --git a/Doc/whatsnew/2.2.rst b/Doc/whatsnew/2.2.rst index 603c63de4a9aa1..75e176c29a6967 100644 --- a/Doc/whatsnew/2.2.rst +++ b/Doc/whatsnew/2.2.rst @@ -720,7 +720,7 @@ possible types of the operands. (The controversy is over whether this is *really* a design flaw, and whether it's worth breaking existing code to fix this. It's caused endless discussions -on python-dev, and in July 2001 erupted into an storm of acidly sarcastic +on python-dev, and in July 2001 erupted into a storm of acidly sarcastic postings on :newsgroup:`comp.lang.python`. I won't argue for either side here and will stick to describing what's implemented in 2.2. Read :pep:`238` for a summary of arguments and counter-arguments.) diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index ca7716a18ff35d..fdca922d1048e0 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -1457,7 +1457,7 @@ s), as well as a :meth:`~ssl.SSLContext.get_ca_certs` method that returns a list of the loaded ``CA`` certificates. (Contributed by Christian Heimes in :issue:`18147`.) -If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has an new +If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has a new attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control the certificate verification process by setting it to some combination of the new constants :data:`~ssl.VERIFY_DEFAULT`, :data:`~ssl.VERIFY_CRL_CHECK_LEAF`, diff --git a/Doc/whatsnew/3.6.rst b/Doc/whatsnew/3.6.rst index adb8b73f94b709..331112fbcfb2af 100644 --- a/Doc/whatsnew/3.6.rst +++ b/Doc/whatsnew/3.6.rst @@ -214,7 +214,7 @@ directives ``%G``, ``%u`` and ``%V``. faulthandler ------------ -On Windows, the :mod:`faulthandler` module now installs an handler for Windows +On Windows, the :mod:`faulthandler` module now installs a handler for Windows exceptions: see :func:`faulthandler.enable`. (Contributed by Victor Stinner in :issue:`23848`.) diff --git a/Include/listobject.h b/Include/listobject.h index daa513f1514b92..31843b5db08c1a 100644 --- a/Include/listobject.h +++ b/Include/listobject.h @@ -2,7 +2,7 @@ /* List object interface */ /* -Another generally useful object type is an list of object pointers. +Another generally useful object type is a list of object pointers. This is a mutable type: the list items can be changed, and items can be added or removed. Out-of-range indices or non-list objects are ignored. diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h index 791da0ee824256..1af620d18d9d38 100644 --- a/Include/unicodeobject.h +++ b/Include/unicodeobject.h @@ -844,7 +844,7 @@ PyAPI_FUNC(int) PyUnicode_Resize( Py_ssize_t length /* New length */ ); -/* Decode obj to an Unicode object. +/* Decode obj to a Unicode object. bytes, bytearray and other bytes-like objects are decoded according to the given encoding and error handler. The encoding and error handler can be diff --git a/Lib/_pydecimal.py b/Lib/_pydecimal.py index 60723f3df39bd5..5c48e0b69ae62b 100644 --- a/Lib/_pydecimal.py +++ b/Lib/_pydecimal.py @@ -252,7 +252,7 @@ def handle(self, context, *args): class ConversionSyntax(InvalidOperation): """Trying to convert badly formed string. - This occurs and signals invalid-operation if an string is being + This occurs and signals invalid-operation if a string is being converted to a number and it does not conform to the numeric string syntax. The result is [0,qNaN]. """ diff --git a/Lib/_pyio.py b/Lib/_pyio.py index 354702ec5ff6fd..404e0273ece44d 100644 --- a/Lib/_pyio.py +++ b/Lib/_pyio.py @@ -439,7 +439,7 @@ def closed(self): return self.__closed def _checkClosed(self, msg=None): - """Internal: raise an ValueError if file is closed + """Internal: raise a ValueError if file is closed """ if self.closed: raise ValueError("I/O operation on closed file." diff --git a/Lib/asyncio/selector_events.py b/Lib/asyncio/selector_events.py index 3dba4fb36aea25..6838d72abadf09 100644 --- a/Lib/asyncio/selector_events.py +++ b/Lib/asyncio/selector_events.py @@ -387,7 +387,7 @@ def sock_connect(self, sock, address): The address must be already resolved to avoid the trap of hanging the entire event loop when the address requires doing a DNS lookup. For - example, it must be an IP address, not an hostname, for AF_INET and + example, it must be an IP address, not a hostname, for AF_INET and AF_INET6 address families. Use getaddrinfo() to resolve the hostname asynchronously. diff --git a/Lib/email/_header_value_parser.py b/Lib/email/_header_value_parser.py index f264191dc4a445..a7ce30e177e467 100644 --- a/Lib/email/_header_value_parser.py +++ b/Lib/email/_header_value_parser.py @@ -1522,7 +1522,7 @@ def get_qp_ctext(value): This is not the RFC ctext, since we are handling nested comments in comment and unquoting quoted-pairs here. We allow anything except the '()' characters, but if we find any ASCII other than the RFC defined printable - ASCII an NonPrintableDefect is added to the token's defects list. Since + ASCII, a NonPrintableDefect is added to the token's defects list. Since quoted pairs are converted to their unquoted values, what is returned is a 'ptext' token. In this case it is a WhiteSpaceTerminal, so it's value is ' '. @@ -1537,7 +1537,7 @@ def get_qcontent(value): """qcontent = qtext / quoted-pair We allow anything except the DQUOTE character, but if we find any ASCII - other than the RFC defined printable ASCII an NonPrintableDefect is + other than the RFC defined printable ASCII, a NonPrintableDefect is added to the token's defects list. Any quoted pairs are converted to their unquoted values, so what is returned is a 'ptext' token. In this case it is a ValueTerminal. @@ -1882,7 +1882,7 @@ def get_dtext(value): obs-dtext = obs-NO-WS-CTL / quoted-pair We allow anything except the excluded characters, but if we find any - ASCII other than the RFC defined printable ASCII an NonPrintableDefect is + ASCII other than the RFC defined printable ASCII, a NonPrintableDefect is added to the token's defects list. Quoted pairs are converted to their unquoted values, so what is returned is a ptext token, in this case a ValueTerminal. If there were quoted-printables, an ObsoleteHeaderDefect is diff --git a/Lib/email/headerregistry.py b/Lib/email/headerregistry.py index 4e142ee8dc9b1f..0fc2231e5cbd29 100644 --- a/Lib/email/headerregistry.py +++ b/Lib/email/headerregistry.py @@ -109,7 +109,7 @@ class Group: def __init__(self, display_name=None, addresses=None): """Create an object representing an address group. - An address group consists of a display_name followed by colon and an + An address group consists of a display_name followed by colon and a list of addresses (see Address) terminated by a semi-colon. The Group is created by specifying a display_name and a possibly empty list of Address objects. A Group can also be used to represent a single diff --git a/Lib/idlelib/AutoComplete.py b/Lib/idlelib/AutoComplete.py index b20512dfa0f3ed..b9ec539e68d4eb 100644 --- a/Lib/idlelib/AutoComplete.py +++ b/Lib/idlelib/AutoComplete.py @@ -64,7 +64,7 @@ def force_open_completions_event(self, event): def try_open_completions_event(self, event): """Happens when it would be nice to open a completion list, but not - really necessary, for example after an dot, so function + really necessary, for example after a dot, so function calls won't be made. """ lastchar = self.text.get("insert-1c") diff --git a/Lib/idlelib/Debugger.py b/Lib/idlelib/Debugger.py index 250422edbb1517..d5e217dde9b78e 100644 --- a/Lib/idlelib/Debugger.py +++ b/Lib/idlelib/Debugger.py @@ -372,7 +372,7 @@ class StackViewer(ScrolledList): def __init__(self, master, flist, gui): if macosxSupport.isAquaTk(): # At least on with the stock AquaTk version on OSX 10.4 you'll - # get an shaking GUI that eventually kills IDLE if the width + # get a shaking GUI that eventually kills IDLE if the width # argument is specified. ScrolledList.__init__(self, master) else: diff --git a/Lib/idlelib/WidgetRedirector.py b/Lib/idlelib/WidgetRedirector.py index 67d7f61e623b42..b66be9e721a515 100644 --- a/Lib/idlelib/WidgetRedirector.py +++ b/Lib/idlelib/WidgetRedirector.py @@ -68,7 +68,7 @@ def register(self, operation, function): '''Return OriginalCommand(operation) after registering function. Registration adds an operation: function pair to ._operations. - It also adds an widget function attribute that masks the tkinter + It also adds a widget function attribute that masks the tkinter class instance method. Method masking operates independently from command dispatch. diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py index 9b16459d546f88..f00db39d8ffeb3 100644 --- a/Lib/idlelib/configDialog.py +++ b/Lib/idlelib/configDialog.py @@ -1196,7 +1196,7 @@ def CreatePageExtensions(self): All values are treated as text, and it is up to the user to supply reasonable values. The only exception to this are the 'enable*' options, - which are boolean, and can be toggled with an True/False button. + which are boolean, and can be toggled with a True/False button. """ parent = self.parent frame = self.tabPages.pages['Extensions'].frame diff --git a/Lib/lib2to3/fixer_base.py b/Lib/lib2to3/fixer_base.py index b1760561996ed1..1ce62fec1573aa 100644 --- a/Lib/lib2to3/fixer_base.py +++ b/Lib/lib2to3/fixer_base.py @@ -49,7 +49,7 @@ def __init__(self, options, log): """Initializer. Subclass may override. Args: - options: an dict containing the options passed to RefactoringTool + options: a dict containing the options passed to RefactoringTool that could be used to customize the fixer through the command line. log: a list to append warnings and other messages to. """ diff --git a/Lib/lib2to3/refactor.py b/Lib/lib2to3/refactor.py index adf999684beaea..0728083652da3a 100644 --- a/Lib/lib2to3/refactor.py +++ b/Lib/lib2to3/refactor.py @@ -184,7 +184,7 @@ def __init__(self, fixer_names, options=None, explicit=None): Args: fixer_names: a list of fixers to import - options: an dict with configuration. + options: a dict with configuration. explicit: a list of fixers to run even if they are explicit. """ self.fixers = fixer_names diff --git a/Lib/lzma.py b/Lib/lzma.py index 89528b60ce7c9d..7dff1c319a6c25 100644 --- a/Lib/lzma.py +++ b/Lib/lzma.py @@ -279,7 +279,7 @@ def open(filename, mode="rb", *, constructor: LZMAFile(filename, mode, ...). In this case, the encoding, errors and newline arguments must not be provided. - For text mode, a LZMAFile object is created, and wrapped in an + For text mode, an LZMAFile object is created, and wrapped in an io.TextIOWrapper instance with the specified encoding, error handling behavior, and line ending(s). diff --git a/Lib/mailbox.py b/Lib/mailbox.py index 24d4aec8a48ff3..0270e25b0088ec 100644 --- a/Lib/mailbox.py +++ b/Lib/mailbox.py @@ -1821,7 +1821,7 @@ class BabylMessage(Message): _type_specific_attributes = ['_labels', '_visible'] def __init__(self, message=None): - """Initialize an BabylMessage instance.""" + """Initialize a BabylMessage instance.""" self._labels = [] self._visible = Message() Message.__init__(self, message) diff --git a/Lib/multiprocessing/managers.py b/Lib/multiprocessing/managers.py index 776656ea176a2a..c559b55a3fde03 100644 --- a/Lib/multiprocessing/managers.py +++ b/Lib/multiprocessing/managers.py @@ -842,7 +842,7 @@ def RebuildProxy(func, token, serializer, kwds): def MakeProxyType(name, exposed, _cache={}): ''' - Return an proxy type whose methods are given by `exposed` + Return a proxy type whose methods are given by `exposed` ''' exposed = tuple(exposed) try: diff --git a/Lib/optparse.py b/Lib/optparse.py index d239ea27d9429f..230a0f6bc12d3d 100644 --- a/Lib/optparse.py +++ b/Lib/optparse.py @@ -1362,7 +1362,7 @@ def parse_args(self, args=None, values=None): sys.argv[1:]). Any errors result in a call to 'error()', which by default prints the usage message to stderr and calls sys.exit() with an error message. On success returns a pair - (values, args) where 'values' is an Values instance (with all + (values, args) where 'values' is a Values instance (with all your option values) and 'args' is the list of arguments left over after parsing options. """ diff --git a/Lib/pprint.py b/Lib/pprint.py index 87649b48cdfab4..bcf2eedebe6b54 100644 --- a/Lib/pprint.py +++ b/Lib/pprint.py @@ -72,7 +72,7 @@ def isrecursive(object): class _safe_key: """Helper function for key functions when sorting unorderable objects. - The wrapped-object will fallback to an Py2.x style comparison for + The wrapped-object will fallback to a Py2.x style comparison for unorderable types (sorting first comparing the type name and then by the obj ids). Does not work recursively, so dict.items() must have _safe_key applied to both the key and the value. diff --git a/Lib/socket.py b/Lib/socket.py index 95ce9eb61ca443..ac2e3dd0fa737e 100644 --- a/Lib/socket.py +++ b/Lib/socket.py @@ -685,7 +685,7 @@ def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. - An host of '' or port 0 tells the OS to use the default. + A host of '' or port 0 tells the OS to use the default. """ host, port = address diff --git a/Lib/socketserver.py b/Lib/socketserver.py index 3e1f058f52b3db..70fdd6c8610eb2 100644 --- a/Lib/socketserver.py +++ b/Lib/socketserver.py @@ -747,7 +747,7 @@ def finish(self): try: self.wfile.flush() except socket.error: - # An final socket error may have occurred here, such as + # A final socket error may have occurred here, such as # the local error ECONNABORTED. pass self.wfile.close() diff --git a/Lib/sqlite3/test/regression.py b/Lib/sqlite3/test/regression.py index eaaaa2c528eb05..11adb300d8fd4f 100644 --- a/Lib/sqlite3/test/regression.py +++ b/Lib/sqlite3/test/regression.py @@ -73,7 +73,7 @@ def CheckColumnNameWithSpaces(self): def CheckStatementFinalizationOnCloseDb(self): # pysqlite versions <= 2.3.3 only finalized statements in the statement # cache when closing the database. statements that were still - # referenced in cursors weren't closed an could provoke " + # referenced in cursors weren't closed and could provoke " # "OperationalError: Unable to close due to unfinalised statements". con = sqlite.connect(":memory:") cursors = [] diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 1ac7007c31910f..ad0f5c39468b22 100755 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -1528,9 +1528,9 @@ def open(cls, name=None, mode="r", fileobj=None, bufsize=RECORDSIZE, **kwargs): 'x' or 'x:' create a tarfile exclusively without compression, raise an exception if the file is already created - 'x:gz' create an gzip compressed tarfile, raise an exception + 'x:gz' create a gzip compressed tarfile, raise an exception if the file is already created - 'x:bz2' create an bzip2 compressed tarfile, raise an exception + 'x:bz2' create a bzip2 compressed tarfile, raise an exception if the file is already created 'x:xz' create an lzma compressed tarfile, raise an exception if the file is already created diff --git a/Lib/test/test_asyncio/test_selector_events.py b/Lib/test/test_asyncio/test_selector_events.py index 135b5abf1013f8..77e72e57051202 100644 --- a/Lib/test/test_asyncio/test_selector_events.py +++ b/Lib/test/test_asyncio/test_selector_events.py @@ -1182,7 +1182,7 @@ def test_on_handshake_base_exc(self): self.assertIs(exc, waiter.exception()) def test_cancel_handshake(self): - # Python issue #23197: cancelling an handshake must not raise an + # Python issue #23197: cancelling a handshake must not raise an # exception or log an error, even if the handshake failed waiter = asyncio.Future(loop=self.loop) transport = self.ssl_transport(waiter=waiter) diff --git a/Lib/test/test_asyncio/test_sslproto.py b/Lib/test/test_asyncio/test_sslproto.py index a72967ea0714d2..e4121a018440d6 100644 --- a/Lib/test/test_asyncio/test_sslproto.py +++ b/Lib/test/test_asyncio/test_sslproto.py @@ -40,7 +40,7 @@ def mock_handshake(callback): ssl_proto.connection_made(transport) def test_cancel_handshake(self): - # Python issue #23197: cancelling an handshake must not raise an + # Python issue #23197: cancelling a handshake must not raise an # exception or log an error, even if the handshake failed waiter = asyncio.Future(loop=self.loop) ssl_proto = self.ssl_protocol(waiter) diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py index 823740c4449ffa..e9dbddcd9305f1 100644 --- a/Lib/test/test_binop.py +++ b/Lib/test/test_binop.py @@ -58,7 +58,7 @@ def _get_den(self): den = property(_get_den, None) def __repr__(self): - """Convert a Rat to an string resembling a Rat constructor call.""" + """Convert a Rat to a string resembling a Rat constructor call.""" return "Rat(%d, %d)" % (self.__num, self.__den) def __str__(self): diff --git a/Lib/test/test_faulthandler.py b/Lib/test/test_faulthandler.py index a3a211667fb936..fc2d6d7bae613e 100644 --- a/Lib/test/test_faulthandler.py +++ b/Lib/test/test_faulthandler.py @@ -715,7 +715,7 @@ def check_stderr_none(self): sys.stderr = stderr def test_stderr_None(self): - # Issue #21497: provide an helpful error if sys.stderr is None, + # Issue #21497: provide a helpful error if sys.stderr is None, # instead of just an attribute error: "None has no attribute fileno". with self.check_stderr_none(): faulthandler.enable() diff --git a/Lib/test/test_pathlib.py b/Lib/test/test_pathlib.py index 7465c61f420263..b32c9fbfa83cb7 100644 --- a/Lib/test/test_pathlib.py +++ b/Lib/test/test_pathlib.py @@ -200,7 +200,7 @@ def test_constructor_common(self): def _check_str_subclass(self, *args): # Issue #21127: it should be possible to construct a PurePath object - # from an str subclass instance, and it then gets converted to + # from a str subclass instance, and it then gets converted to # a pure str object. class StrSubclass(str): pass diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 2aa16fc1e60485..a5318795525e70 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -644,7 +644,7 @@ def test_executable(self): self.assertEqual(os.path.abspath(sys.executable), sys.executable) # Issue #7774: Ensure that sys.executable is an empty string if argv[0] - # has been set to an non existent program name and Python is unable to + # has been set to a non existent program name and Python is unable to # retrieve the real program name # For a normal installation, it should work without 'cwd' diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index f6b416df3752d1..71df14c8fddcf6 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -1083,7 +1083,7 @@ class EventTests(lock_tests.EventTests): eventtype = staticmethod(threading.Event) class ConditionAsRLockTests(lock_tests.RLockTests): - # An Condition uses an RLock by default and exports its API. + # Condition uses an RLock by default and exports its API. locktype = staticmethod(threading.Condition) class ConditionTests(lock_tests.ConditionTests): diff --git a/Lib/test/test_tools/test_gprof2html.py b/Lib/test/test_tools/test_gprof2html.py index 845a2a8cfa90ee..0c294ec0c446ea 100644 --- a/Lib/test/test_tools/test_gprof2html.py +++ b/Lib/test/test_tools/test_gprof2html.py @@ -22,7 +22,7 @@ def fixup(): sys.argv = [] def test_gprof(self): - # Issue #14508: this used to fail with an NameError. + # Issue #14508: this used to fail with a NameError. with mock.patch.object(self.gprof, 'webbrowser') as wmock, \ tempfile.TemporaryDirectory() as tmpdir: fn = os.path.join(tmpdir, 'abc') diff --git a/Lib/test/test_zipapp.py b/Lib/test/test_zipapp.py index 97343802a51451..d8d44375bdd222 100644 --- a/Lib/test/test_zipapp.py +++ b/Lib/test/test_zipapp.py @@ -195,7 +195,7 @@ def test_write_shebang_to_fileobj(self): self.assertTrue(new_target.getvalue().startswith(b'#!python2.7\n')) def test_read_from_pathobj(self): - # Test that we can copy an archive using an pathlib.Path object + # Test that we can copy an archive using a pathlib.Path object # for the source. source = self.tmpdir / 'source' source.mkdir() diff --git a/Lib/tkinter/__init__.py b/Lib/tkinter/__init__.py index da2fd53b88cc4f..5272b3095a5ac7 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -2771,7 +2771,7 @@ def delete(self, index1, index2=None): self.deletecommand(c) self.tk.call(self._w, 'delete', index1, index2) def entrycget(self, index, option): - """Return the resource value of an menu item for OPTION at INDEX.""" + """Return the resource value of a menu item for OPTION at INDEX.""" return self.tk.call(self._w, 'entrycget', index, '-' + option) def entryconfigure(self, index, cnf=None, **kw): """Configure a menu item at INDEX.""" diff --git a/Lib/tkinter/dnd.py b/Lib/tkinter/dnd.py index 55f0776ce9ad6f..e0971a26adde51 100644 --- a/Lib/tkinter/dnd.py +++ b/Lib/tkinter/dnd.py @@ -3,7 +3,7 @@ This is very preliminary. I currently only support dnd *within* one application, between different windows (or within the same window). -I an trying to make this as generic as possible -- not dependent on +I am trying to make this as generic as possible -- not dependent on the use of a particular widget or icon type, etc. I also hope that this will work with Pmw. diff --git a/Lib/tkinter/test/test_ttk/test_functions.py b/Lib/tkinter/test/test_ttk/test_functions.py index c9dcf975f820f4..c68a650559e91e 100644 --- a/Lib/tkinter/test/test_ttk/test_functions.py +++ b/Lib/tkinter/test/test_ttk/test_functions.py @@ -193,7 +193,7 @@ def test_format_elemcreate(self): ## Testing type = vsapi # vsapi type expects at least a class name and a part_id, so this - # should raise an ValueError since it tries to get two elements from + # should raise a ValueError since it tries to get two elements from # an empty tuple self.assertRaises(ValueError, ttk._format_elemcreate, 'vsapi') diff --git a/Lib/tkinter/tix.py b/Lib/tkinter/tix.py index c1cdfa7c0337c8..adb629a7c86391 100644 --- a/Lib/tkinter/tix.py +++ b/Lib/tkinter/tix.py @@ -221,7 +221,7 @@ def __init__(self, screenName=None, baseName=None, className='Tix'): self.tk.eval('package require Tix') def destroy(self): - # For safety, remove an delete_window binding before destroy + # For safety, remove the delete_window binding before destroy self.protocol("WM_DELETE_WINDOW", "") tkinter.Tk.destroy(self) @@ -702,7 +702,7 @@ def __init__(self, master, cnf={}, **kw): class ExFileSelectBox(TixWidget): """ExFileSelectBox - MS Windows style file select box. - It provides an convenient method for the user to select files. + It provides a convenient method for the user to select files. Subwidget Class --------- ----- @@ -760,7 +760,7 @@ def popdown(self): # Should inherit from a Dialog class class ExFileSelectDialog(TixWidget): """ExFileSelectDialog - MS Windows style file select dialog. - It provides an convenient method for the user to select files. + It provides a convenient method for the user to select files. Subwidgets Class ---------- ----- diff --git a/Lib/tkinter/ttk.py b/Lib/tkinter/ttk.py index b72c0904b2c3dc..e22a4e0c374b18 100644 --- a/Lib/tkinter/ttk.py +++ b/Lib/tkinter/ttk.py @@ -1478,7 +1478,7 @@ class LabeledScale(Frame): can be accessed through instance.label""" def __init__(self, master=None, variable=None, from_=0, to=10, **kw): - """Construct an horizontal LabeledScale with parent master, a + """Construct a horizontal LabeledScale with parent master, a variable to be associated with the Ttk Scale widget and its range. If variable is not specified, a tkinter.IntVar is created. diff --git a/Lib/xmlrpc/client.py b/Lib/xmlrpc/client.py index 4d994d79a2d1d0..77e20ecedea25d 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -1446,7 +1446,7 @@ def __getattr__(self, name): # magic method dispatcher return _Method(self.__request, name) - # note: to call a remote object with an non-standard name, use + # note: to call a remote object with a non-standard name, use # result getattr(server, "strange-python-name")(args) def __call__(self, attr): diff --git a/Lib/zipapp.py b/Lib/zipapp.py index c8380bfeca5e1d..eceb91de1aa455 100644 --- a/Lib/zipapp.py +++ b/Lib/zipapp.py @@ -89,9 +89,10 @@ def create_archive(source, target=None, interpreter=None, main=None): The created application archive will have a shebang line specifying that it should run with INTERPRETER (there will be no shebang line if INTERPRETER is None), and a __main__.py which runs MAIN (if MAIN is - not specified, an existing __main__.py will be used). It is an to specify - MAIN for anything other than a directory source with no __main__.py, and it - is an error to omit MAIN if the directory has no __main__.py. + not specified, an existing __main__.py will be used). It is an error + to specify MAIN for anything other than a directory source with no + __main__.py, and it is an error to omit MAIN if the directory has no + __main__.py. """ # Are we copying an existing archive? source_is_file = False diff --git a/Misc/HISTORY b/Misc/HISTORY index a8de7f917112b6..7857f6f896c508 100644 --- a/Misc/HISTORY +++ b/Misc/HISTORY @@ -7220,7 +7220,7 @@ Library cElementTree module is updated too. - Issue #7774: Set sys.executable to an empty string if argv[0] has been set to - an non existent program name and Python is unable to retrieve the real program + a non existent program name and Python is unable to retrieve the real program name. - Issue #7880: Fix sysconfig when the python executable is a symbolic link. @@ -14013,7 +14013,7 @@ Core and builtins would not be removed while allocating a new weakref object. Since GC could be invoked at that time, however, that assumption was invalid. In a truly obscure case of GC being triggered during - creation for a new weakref object for an referent which already + creation for a new weakref object for a referent which already has a weakref without a callback which is only referenced from cyclic trash, a memory error can occur. This consistently created a segfault in a debug build, but provided less predictable behavior in @@ -18737,7 +18737,7 @@ Standard library - xml.dom.minidom offers a toprettyxml method. A number of DOM conformance issues have been resolved. In particular, Element now - has an hasAttributes method, and the handling of namespaces was + has a hasAttributes method, and the handling of namespaces was improved. - Ka-Ping Yee contributed two new modules: inspect.py, a module for @@ -20227,7 +20227,7 @@ list of all new modules is included below. Probably the most pervasive change is the addition of Unicode support. We've added a new fundamental datatype, the Unicode string, a new -build-in function unicode(), an numerous C APIs to deal with Unicode +built-in function unicode(), and numerous C APIs to deal with Unicode and encodings. See the file Misc/unicode.txt for details, or http://starship.python.net/crew/lemburg/unicode-proposal.txt. @@ -21712,7 +21712,7 @@ real list objects. - The uu module now deals better with trailing garbage generated by some broke uuencoders. -- The telnet module now has an my_interact() method which uses threads +- The telnet module now has a my_interact() method which uses threads instead of select. The interact() method uses this by default on Windows (where the single-threaded version doesn't work). @@ -22769,7 +22769,7 @@ PyEval_CallMethod(). - New macros to access object members for PyFunction, PyCFunction objects. -- New APIs PyImport_AppendInittab() an PyImport_ExtendInittab() to +- New APIs PyImport_AppendInittab() and PyImport_ExtendInittab() to dynamically add one or many entries to the table of built-in modules. - New macro Py_InitModule3(name, methods, doc) which calls @@ -27179,7 +27179,7 @@ a string it is returned unchanged, otherwise it returns `x`. * repr(x) returns the same as `x`. (Some users found it easier to have this as a function.) -* round(x) returns the floating point number x rounded to an whole +* round(x) returns the floating point number x rounded to a whole number, represented as a floating point number. round(x, n) returns x rounded to n digits. diff --git a/Misc/NEWS b/Misc/NEWS index d763e4042a68ee..d46bf49b0685e3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -1779,7 +1779,7 @@ Core and Builtins - Issue #24407: Fix crash when dict is mutated while being updated. - Issue #24619: New approach for tokenizing async/await. As a consequence, - is is now possible to have one-line 'async def foo(): await ..' functions. + it is now possible to have one-line 'async def foo(): await ..' functions. - Issue #24687: Plug refleak on SyntaxError in function parameters annotations. @@ -4124,7 +4124,7 @@ Library - Issue #21000: Improve the command-line interface of json.tool. - Issue #20995: Enhance default ciphers used by the ssl module to enable - better security an prioritize perfect forward secrecy. + better security and prioritize perfect forward secrecy. - Issue #20884: Don't assume that __file__ is defined on importlib.__init__. diff --git a/Modules/_csv.c b/Modules/_csv.c index e01c56e59cbba5..4284477a99166c 100644 --- a/Modules/_csv.c +++ b/Modules/_csv.c @@ -731,7 +731,7 @@ parse_process_char(ReaderObj *self, Py_UCS4 c) break; case QUOTE_IN_QUOTED_FIELD: - /* doublequote - seen a quote in an quoted field */ + /* doublequote - seen a quote in a quoted field */ if (dialect->quoting != QUOTE_NONE && c == dialect->quotechar) { /* save "" as " */ diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c index 060dca577c387c..6b1e74434f5c32 100644 --- a/Modules/_ctypes/_ctypes.c +++ b/Modules/_ctypes/_ctypes.c @@ -3802,7 +3802,7 @@ PyCFuncPtr_call(PyCFuncPtrObject *self, PyObject *inargs, PyObject *kwds) return NULL; } /* there should be more checks? No, in Python */ - /* First arg is an pointer to an interface instance */ + /* First arg is a pointer to an interface instance */ if (!this->b_ptr || *(void **)this->b_ptr == NULL) { PyErr_SetString(PyExc_ValueError, "NULL COM pointer access"); diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c index 73018a539071b0..e856e2b25d03fb 100644 --- a/Modules/_io/stringio.c +++ b/Modules/_io/stringio.c @@ -438,7 +438,7 @@ stringio_iternext(stringio *self) _PyIO_str_readline, NULL); if (line && !PyUnicode_Check(line)) { PyErr_Format(PyExc_IOError, - "readline() should have returned an str object, " + "readline() should have returned a str object, " "not '%.200s'", Py_TYPE(line)->tp_name); Py_DECREF(line); return NULL; diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c index 9af07bfb91d237..96c8e7b453e1bd 100644 --- a/Modules/_io/textio.c +++ b/Modules/_io/textio.c @@ -2689,7 +2689,7 @@ textiowrapper_iternext(textio *self) _PyIO_str_readline, NULL); if (line && !PyUnicode_Check(line)) { PyErr_Format(PyExc_IOError, - "readline() should have returned an str object, " + "readline() should have returned a str object, " "not '%.200s'", Py_TYPE(line)->tp_name); Py_DECREF(line); return NULL; diff --git a/Modules/_pickle.c b/Modules/_pickle.c index 545f0a4e336875..fdd60e01559b49 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -4465,7 +4465,7 @@ Pickler_set_memo(PicklerObject *self, PyObject *obj) } else { PyErr_Format(PyExc_TypeError, - "'memo' attribute must be an PicklerMemoProxy object" + "'memo' attribute must be a PicklerMemoProxy object" "or dict, not %.200s", Py_TYPE(obj)->tp_name); return -1; } @@ -4703,7 +4703,7 @@ calc_binsize(char *bytes, int nbytes) /* s contains x bytes of a little-endian integer. Return its value as a * C int. Obscure: when x is 1 or 2, this is an unsigned little-endian - * int, but when x is 4 it's a signed one. This is an historical source + * int, but when x is 4 it's a signed one. This is a historical source * of x-platform bugs. */ static long diff --git a/Modules/_tracemalloc.c b/Modules/_tracemalloc.c index 86cdbd28b4eb6b..beda2b612d770d 100644 --- a/Modules/_tracemalloc.c +++ b/Modules/_tracemalloc.c @@ -719,7 +719,7 @@ tracemalloc_realloc(void *ctx, void *ptr, size_t new_size) the caller, because realloc() may already have shrinked the memory block and so removed bytes. - This case is very unlikely: an hash entry has just been + This case is very unlikely: a hash entry has just been released, so the hash table should have at least one free entry. The GIL and the table lock ensures that only one thread is diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index 9be5ccfd8b3029..570c87520fc0f5 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -1178,7 +1178,7 @@ static PyMethodDef module_methods[] = { {"register", (PyCFunction)faulthandler_register_py, METH_VARARGS|METH_KEYWORDS, PyDoc_STR("register(signum, file=sys.stderr, all_threads=True, chain=False): " - "register an handler for the signal 'signum': dump the " + "register a handler for the signal 'signum': dump the " "traceback of the current thread, or of all threads if " "all_threads is True, into file")}, {"unregister", diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c index 1d550fadad4c49..c82ad7aaf6f1cc 100644 --- a/Modules/itertoolsmodule.c +++ b/Modules/itertoolsmodule.c @@ -4484,7 +4484,7 @@ static PyMethodDef zip_longest_methods[] = { PyDoc_STRVAR(zip_longest_doc, "zip_longest(iter1 [,iter2 [...]], [fillvalue=None]) --> zip_longest object\n\ \n\ -Return an zip_longest object whose .__next__() method returns a tuple where\n\ +Return a zip_longest object whose .__next__() method returns a tuple where\n\ the i-th element comes from the i-th iterable argument. The .__next__()\n\ method continues until the longest iterable in the argument sequence\n\ is exhausted and then it raises StopIteration. When the shorter iterables\n\ diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c index 70f2db0760b75c..c8b85a0f03f3b7 100644 --- a/Modules/selectmodule.c +++ b/Modules/selectmodule.c @@ -2127,7 +2127,7 @@ kqueue_queue_control(kqueue_queue_Object *self, PyObject *args) if (_PyTime_FromSecondsObject(&timeout, otimeout, _PyTime_ROUND_CEILING) < 0) { PyErr_Format(PyExc_TypeError, - "timeout argument must be an number " + "timeout argument must be a number " "or None, got %.200s", Py_TYPE(otimeout)->tp_name); return NULL; diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c index de7fb1e7a558e2..d0260c903efc9f 100644 --- a/Objects/bytearrayobject.c +++ b/Objects/bytearrayobject.c @@ -3018,7 +3018,7 @@ bytearray(bytes_or_buffer) -> mutable copy of bytes_or_buffer\n\ bytearray(int) -> bytes array of size given by the parameter initialized with null bytes\n\ bytearray() -> empty bytes array\n\ \n\ -Construct an mutable bytearray object from:\n\ +Construct a mutable bytearray object from:\n\ - an iterable yielding integers in range(256)\n\ - a text string encoded using the specified encoding\n\ - a bytes or a buffer object\n\ diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c index 2be32e01b83239..0e9eb20154b7a0 100644 --- a/Objects/rangeobject.c +++ b/Objects/rangeobject.c @@ -5,7 +5,7 @@ /* Support objects whose length is > PY_SSIZE_T_MAX. - This could be sped up for small PyLongs if they fit in an Py_ssize_t. + This could be sped up for small PyLongs if they fit in a Py_ssize_t. This only matters on Win64. Though we could use PY_LONG_LONG which would presumably help perf. */ diff --git a/Objects/stringlib/unicode_format.h b/Objects/stringlib/unicode_format.h index d72e47d348aa81..14fa28ea54a5c8 100644 --- a/Objects/stringlib/unicode_format.h +++ b/Objects/stringlib/unicode_format.h @@ -1226,7 +1226,7 @@ static PyTypeObject PyFieldNameIter_Type = { 0}; /* unicode_formatter_field_name_split is used to implement - string.Formatter.vformat. it takes an PEP 3101 "field name", and + string.Formatter.vformat. it takes a PEP 3101 "field name", and returns a tuple of (first, rest): "first", the part before the first '.' or '['; and "rest", an iterator for the rest of the field name. it's a wrapper around stringlib/string_format.h's diff --git a/PC/clinic/winreg.c.h b/PC/clinic/winreg.c.h index 22b332fbf2a76e..338e33d39ab9c3 100644 --- a/PC/clinic/winreg.c.h +++ b/PC/clinic/winreg.c.h @@ -120,7 +120,7 @@ PyDoc_STRVAR(winreg_ConnectRegistry__doc__, "ConnectRegistry($module, computer_name, key, /)\n" "--\n" "\n" -"Establishes a connection to the registry on on another computer.\n" +"Establishes a connection to the registry on another computer.\n" "\n" " computer_name\n" " The name of the remote computer, of the form r\"\\\\computername\". If\n" @@ -913,7 +913,7 @@ PyDoc_STRVAR(winreg_SetValueEx__doc__, " references to environment variables (for example,\n" " %PATH%).\n" " REG_LINK -- A Unicode symbolic link.\n" -" REG_MULTI_SZ -- An sequence of null-terminated strings, terminated\n" +" REG_MULTI_SZ -- A sequence of null-terminated strings, terminated\n" " by two null characters. Note that Python handles\n" " this termination automatically.\n" " REG_NONE -- No defined value type.\n" @@ -1056,4 +1056,4 @@ winreg_QueryReflectionKey(PyModuleDef *module, PyObject *arg) exit: return return_value; } -/*[clinic end generated code: output=71f5bc30b646807b input=a9049054013a1b77]*/ +/*[clinic end generated code: output=5e346dccc296f9f1 input=a9049054013a1b77]*/ diff --git a/PC/winreg.c b/PC/winreg.c index 3313202bc43c83..d1c3f39525b5c2 100644 --- a/PC/winreg.c +++ b/PC/winreg.c @@ -792,7 +792,7 @@ winreg.ConnectRegistry -> HKEY The predefined key to connect to. / -Establishes a connection to the registry on on another computer. +Establishes a connection to the registry on another computer. The return value is the handle of the opened key. If the function fails, an OSError exception is raised. @@ -801,7 +801,7 @@ If the function fails, an OSError exception is raised. static HKEY winreg_ConnectRegistry_impl(PyModuleDef *module, Py_UNICODE *computer_name, HKEY key) -/*[clinic end generated code: output=5c52f6f7ba6e7b46 input=9a056558ce318433]*/ +/*[clinic end generated code: output=5c52f6f7ba6e7b46 input=5f98a891a347e68e]*/ { HKEY retKey; long rc; @@ -1605,7 +1605,7 @@ winreg.SetValueEx references to environment variables (for example, %PATH%). REG_LINK -- A Unicode symbolic link. - REG_MULTI_SZ -- An sequence of null-terminated strings, terminated + REG_MULTI_SZ -- A sequence of null-terminated strings, terminated by two null characters. Note that Python handles this termination automatically. REG_NONE -- No defined value type. @@ -1631,7 +1631,7 @@ the configuration registry to help the registry perform efficiently. static PyObject * winreg_SetValueEx_impl(PyModuleDef *module, HKEY key, Py_UNICODE *value_name, PyObject *reserved, DWORD type, PyObject *value) -/*[clinic end generated code: output=ea092a935c361582 input=e73dec535ebeea7d]*/ +/*[clinic end generated code: output=ea092a935c361582 input=f1b16cbcc3ed4101]*/ { BYTE *data; DWORD len; diff --git a/Python/thread_nt.h b/Python/thread_nt.h index 84452cdac4eccb..b29b1b6e3ff6d7 100644 --- a/Python/thread_nt.h +++ b/Python/thread_nt.h @@ -231,7 +231,7 @@ PyThread_start_new_thread(void (*func)(void *), void *arg) } /* - * Return the thread Id instead of an handle. The Id is said to uniquely identify the + * Return the thread Id instead of a handle. The Id is said to uniquely identify the * thread in the system */ long