From 6a7b3a77b4b2be0badd24ee5f0fdbaa2e0e79c3d Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sun, 17 Apr 2016 08:32:47 +0300 Subject: [PATCH] Issue #26778: Fixed "a/an/and" typos in code comment and documentation. --- Doc/c-api/set.rst | 6 +++--- Doc/c-api/unicode.rst | 4 ++-- Doc/distutils/apiref.rst | 2 +- Doc/library/asyncio-eventloop.rst | 2 +- Doc/library/ctypes.rst | 4 ++-- Doc/library/idle.rst | 2 +- Doc/library/shutil.rst | 2 +- Doc/library/tarfile.rst | 2 +- Doc/library/tkinter.tix.rst | 2 +- Doc/tutorial/datastructures.rst | 2 +- Doc/whatsnew/2.2.rst | 2 +- Doc/whatsnew/3.4.rst | 2 +- Include/listobject.h | 2 +- Include/unicodeobject.h | 2 +- Lib/_pydecimal.py | 2 +- Lib/_pyio.py | 2 +- Lib/asyncio/selector_events.py | 2 +- Lib/email/_header_value_parser.py | 6 +++--- Lib/email/headerregistry.py | 2 +- Lib/idlelib/AutoComplete.py | 2 +- Lib/idlelib/Debugger.py | 2 +- Lib/idlelib/WidgetRedirector.py | 2 +- Lib/idlelib/configDialog.py | 2 +- Lib/lib2to3/fixer_base.py | 2 +- Lib/lib2to3/refactor.py | 2 +- Lib/lzma.py | 2 +- Lib/mailbox.py | 2 +- Lib/multiprocessing/managers.py | 2 +- Lib/optparse.py | 2 +- Lib/pprint.py | 2 +- Lib/socket.py | 2 +- Lib/socketserver.py | 2 +- Lib/sqlite3/test/regression.py | 2 +- Lib/tarfile.py | 4 ++-- Lib/test/test_asyncio/test_selector_events.py | 2 +- Lib/test/test_asyncio/test_sslproto.py | 2 +- Lib/test/test_binop.py | 2 +- Lib/test/test_faulthandler.py | 2 +- Lib/test/test_pathlib.py | 2 +- Lib/test/test_sys.py | 2 +- Lib/test/test_threading.py | 2 +- Lib/test/test_tools/test_gprof2html.py | 2 +- Lib/test/test_zipapp.py | 2 +- Lib/tkinter/__init__.py | 2 +- Lib/tkinter/dnd.py | 2 +- Lib/tkinter/test/test_ttk/test_functions.py | 2 +- Lib/tkinter/tix.py | 6 +++--- Lib/tkinter/ttk.py | 2 +- Lib/xmlrpc/client.py | 2 +- Lib/zipapp.py | 7 ++++--- Misc/HISTORY | 14 +++++++------- Misc/NEWS | 4 ++-- Modules/_csv.c | 2 +- Modules/_ctypes/_ctypes.c | 2 +- Modules/_pickle.c | 2 +- Modules/_tracemalloc.c | 2 +- Modules/faulthandler.c | 2 +- Modules/itertoolsmodule.c | 2 +- Objects/bytearrayobject.c | 2 +- Objects/rangeobject.c | 2 +- Objects/stringlib/unicode_format.h | 2 +- PC/clinic/winreg.c.h | 6 +++--- PC/winreg.c | 8 ++++---- Python/thread_nt.h | 2 +- 64 files changed, 88 insertions(+), 87 deletions(-) diff --git a/Doc/c-api/set.rst b/Doc/c-api/set.rst index 7f4d534a700..8de0394112e 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 1ed81403b4f..0b45958793d 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 e66835a8114..7d6a84e159a 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 659b37c06e6..f68b19d8676 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 828d7ca4a36..e2a18c1db18 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 4384d56814e..df08fe8b5b1 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 904627f431b..c39a19abc9d 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 5fa4787a0c1..bf90fc40c93 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 9de73ade421..9da79596a6a 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 0d51480177d..b39bdf4dfb2 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 603c63de4a9..75e176c29a6 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 ca7716a18ff..fdca922d104 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/Include/listobject.h b/Include/listobject.h index daa513f1514..31843b5db08 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 ea4591d598f..533dd75d2c7 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 05ba4eeee3a..6b13d449082 100644 --- a/Lib/_pydecimal.py +++ b/Lib/_pydecimal.py @@ -252,7 +252,7 @@ class InvalidOperation(DecimalException): 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 a467ddda4ff..313fadfcbeb 100644 --- a/Lib/_pyio.py +++ b/Lib/_pyio.py @@ -439,7 +439,7 @@ class IOBase(metaclass=abc.ABCMeta): 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 7b1eef20f22..7b5a084daec 100644 --- a/Lib/asyncio/selector_events.py +++ b/Lib/asyncio/selector_events.py @@ -387,7 +387,7 @@ class BaseSelectorEventLoop(base_events.BaseEventLoop): 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 f264191dc4a..a7ce30e177e 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 4e142ee8dc9..0fc2231e5cb 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 b20512dfa0f..b9ec539e68d 100644 --- a/Lib/idlelib/AutoComplete.py +++ b/Lib/idlelib/AutoComplete.py @@ -64,7 +64,7 @@ class AutoComplete: 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 250422edbb1..d5e217dde9b 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 67d7f61e623..b66be9e721a 100644 --- a/Lib/idlelib/WidgetRedirector.py +++ b/Lib/idlelib/WidgetRedirector.py @@ -68,7 +68,7 @@ class WidgetRedirector: '''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 9b16459d546..f00db39d8ff 100644 --- a/Lib/idlelib/configDialog.py +++ b/Lib/idlelib/configDialog.py @@ -1196,7 +1196,7 @@ class ConfigDialog(Toplevel): 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 b1760561996..1ce62fec157 100644 --- a/Lib/lib2to3/fixer_base.py +++ b/Lib/lib2to3/fixer_base.py @@ -49,7 +49,7 @@ class BaseFix(object): """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 adf999684be..0728083652d 100644 --- a/Lib/lib2to3/refactor.py +++ b/Lib/lib2to3/refactor.py @@ -184,7 +184,7 @@ class RefactoringTool(object): 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 89528b60ce7..7dff1c319a6 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 24d4aec8a48..0270e25b008 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 776656ea176..c559b55a3fd 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 432a2eb9b66..5bc905166be 100644 --- a/Lib/optparse.py +++ b/Lib/optparse.py @@ -1361,7 +1361,7 @@ class OptionParser (OptionContainer): 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 87649b48cdf..bcf2eedebe6 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 95ce9eb61ca..ac2e3dd0fa7 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 f8e87e64edc..88088130ee4 100644 --- a/Lib/socketserver.py +++ b/Lib/socketserver.py @@ -736,7 +736,7 @@ class StreamRequestHandler(BaseRequestHandler): 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 eaaaa2c528e..11adb300d8f 100644 --- a/Lib/sqlite3/test/regression.py +++ b/Lib/sqlite3/test/regression.py @@ -73,7 +73,7 @@ class RegressionTests(unittest.TestCase): 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 25845604f34..523620e0044 100755 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -1525,9 +1525,9 @@ class TarFile(object): '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 135b5abf101..77e72e57051 100644 --- a/Lib/test/test_asyncio/test_selector_events.py +++ b/Lib/test/test_asyncio/test_selector_events.py @@ -1182,7 +1182,7 @@ class SelectorSslTransportTests(test_utils.TestCase): 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 a72967ea071..e4121a01844 100644 --- a/Lib/test/test_asyncio/test_sslproto.py +++ b/Lib/test/test_asyncio/test_sslproto.py @@ -40,7 +40,7 @@ class SslProtoHandshakeTests(test_utils.TestCase): 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 823740c4449..e9dbddcd930 100644 --- a/Lib/test/test_binop.py +++ b/Lib/test/test_binop.py @@ -58,7 +58,7 @@ class Rat(object): 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 12969d51843..1562eecbd65 100644 --- a/Lib/test/test_faulthandler.py +++ b/Lib/test/test_faulthandler.py @@ -683,7 +683,7 @@ class FaultHandlerTests(unittest.TestCase): 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 865d0768866..247a6b323ae 100644 --- a/Lib/test/test_pathlib.py +++ b/Lib/test/test_pathlib.py @@ -200,7 +200,7 @@ class _BasePurePathTest(object): 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 2aa16fc1e60..a5318795525 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -644,7 +644,7 @@ class SysModuleTest(unittest.TestCase): 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 06af5f2acba..b49a9615f09 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -1082,7 +1082,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 845a2a8cfa9..0c294ec0c44 100644 --- a/Lib/test/test_tools/test_gprof2html.py +++ b/Lib/test/test_tools/test_gprof2html.py @@ -22,7 +22,7 @@ class Gprof2htmlTests(unittest.TestCase): 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 97343802a51..d8d44375bdd 100644 --- a/Lib/test/test_zipapp.py +++ b/Lib/test/test_zipapp.py @@ -195,7 +195,7 @@ class ZipAppTest(unittest.TestCase): 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 da430dfd77e..be6ed7585be 100644 --- a/Lib/tkinter/__init__.py +++ b/Lib/tkinter/__init__.py @@ -2772,7 +2772,7 @@ class Menu(Widget): 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 55f0776ce9a..e0971a26add 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 c9dcf975f82..c68a650559e 100644 --- a/Lib/tkinter/test/test_ttk/test_functions.py +++ b/Lib/tkinter/test/test_ttk/test_functions.py @@ -193,7 +193,7 @@ class InternalFunctionsTest(unittest.TestCase): ## 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 c1cdfa7c033..adb629a7c86 100644 --- a/Lib/tkinter/tix.py +++ b/Lib/tkinter/tix.py @@ -221,7 +221,7 @@ class Tk(tkinter.Tk, tixCommand): 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 @@ class DirSelectBox(TixWidget): 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 @@ class DirSelectDialog(TixWidget): # 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 244fb3dd743..7d868fb6303 100644 --- a/Lib/tkinter/ttk.py +++ b/Lib/tkinter/ttk.py @@ -1474,7 +1474,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 e7daa0793b7..551dce96526 100644 --- a/Lib/xmlrpc/client.py +++ b/Lib/xmlrpc/client.py @@ -1446,7 +1446,7 @@ class ServerProxy: # 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 c8380bfeca5..eceb91de1aa 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 a8de7f91711..7857f6f896c 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 94d8255eabd..7b6b4187cbb 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -1169,7 +1169,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. @@ -3515,7 +3515,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 d6f2ca85adf..101f449d066 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 7e20301ec1b..94261288107 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/_pickle.c b/Modules/_pickle.c index 78cfe203840..47977ec50d3 100644 --- a/Modules/_pickle.c +++ b/Modules/_pickle.c @@ -4629,7 +4629,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 60c1b063ac8..796ac0fa339 100644 --- a/Modules/_tracemalloc.c +++ b/Modules/_tracemalloc.c @@ -519,7 +519,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 9485e24c1f7..f1fda481fc6 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -1051,7 +1051,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 781fbcdf1a5..409922a6438 100644 --- a/Modules/itertoolsmodule.c +++ b/Modules/itertoolsmodule.c @@ -4483,7 +4483,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/Objects/bytearrayobject.c b/Objects/bytearrayobject.c index c723a9c9764..5a0480cc8f7 100644 --- a/Objects/bytearrayobject.c +++ b/Objects/bytearrayobject.c @@ -3091,7 +3091,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 2be32e01b83..0e9eb20154b 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 aec221acff9..be09b5f6fa7 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 22b332fbf2a..338e33d39ab 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 3313202bc43..d1c3f39525b 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 84452cdac4e..b29b1b6e3ff 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