Issue #25523: Backported a-to-an corrections.
diff --git a/Doc/distutils/packageindex.rst b/Doc/distutils/packageindex.rst
index be72bb7..7494495 100644
--- a/Doc/distutils/packageindex.rst
+++ b/Doc/distutils/packageindex.rst
@@ -169,7 +169,7 @@
username: <username>
password: <password>
-The *distutils* section defines a *index-servers* variable that lists the
+The *distutils* section defines an *index-servers* variable that lists the
name of all sections describing a repository.
Each section describing a repository defines three variables:
diff --git a/Doc/howto/descriptor.rst b/Doc/howto/descriptor.rst
index 1a26281..e2359d9 100644
--- a/Doc/howto/descriptor.rst
+++ b/Doc/howto/descriptor.rst
@@ -325,7 +325,7 @@
patterns of binding functions into methods.
To recap, functions have a :meth:`__get__` method so that they can be converted
-to a method when accessed as attributes. The non-data descriptor transforms a
+to a method when accessed as attributes. The non-data descriptor transforms an
``obj.f(*args)`` call into ``f(obj, *args)``. Calling ``klass.f(*args)``
becomes ``f(*args)``.
diff --git a/Doc/install/index.rst b/Doc/install/index.rst
index 3b6ccba..eb499e9 100644
--- a/Doc/install/index.rst
+++ b/Doc/install/index.rst
@@ -149,7 +149,7 @@
On Windows, you'd probably download :file:`foo-1.0.zip`. If you downloaded the
archive file to :file:`C:\\Temp`, then it would unpack into
-:file:`C:\\Temp\\foo-1.0`; you can use either a archive manipulator with a
+:file:`C:\\Temp\\foo-1.0`; you can use either an archive manipulator with a
graphical user interface (such as WinZip) or a command-line tool (such as
:program:`unzip` or :program:`pkunzip`) to unpack the archive. Then, open a
command prompt window and run::
diff --git a/Doc/library/email.parser.rst b/Doc/library/email.parser.rst
index 0f99a2f..04e2334 100644
--- a/Doc/library/email.parser.rst
+++ b/Doc/library/email.parser.rst
@@ -133,7 +133,7 @@
methods on file-like objects.
The text contained in *fp* must be formatted as a block of :rfc:`2822`
- style headers and header continuation lines, optionally preceded by a
+ style headers and header continuation lines, optionally preceded by an
envelope header. The header block is terminated either by the end of the
data or by a blank line. Following the header block is the body of the
message (which may contain MIME-encoded subparts).
diff --git a/Doc/library/unittest.rst b/Doc/library/unittest.rst
index 5e3bd1c..ca91cd7 100644
--- a/Doc/library/unittest.rst
+++ b/Doc/library/unittest.rst
@@ -568,7 +568,7 @@
.. versionadded:: 2.7
Unittest supports skipping individual test methods and even whole classes of
-tests. In addition, it supports marking a test as a "expected failure," a test
+tests. In addition, it supports marking a test as an "expected failure," a test
that is broken and will fail, but shouldn't be counted as a failure on a
:class:`TestResult`.
diff --git a/Doc/library/zlib.rst b/Doc/library/zlib.rst
index 192bd4d..70e1483 100644
--- a/Doc/library/zlib.rst
+++ b/Doc/library/zlib.rst
@@ -31,7 +31,7 @@
.. function:: adler32(data[, value])
- Computes a Adler-32 checksum of *data*. (An Adler-32 checksum is almost as
+ Computes an Adler-32 checksum of *data*. (An Adler-32 checksum is almost as
reliable as a CRC32 but can be computed much more quickly.) If *value* is
present, it is used as the starting value of the checksum; otherwise, a fixed
default value is used. This allows computing a running checksum over the
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index f4e7589..e2560c7 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -1118,7 +1118,7 @@
(Fixed by Daniel Stutzbach; :issue:`8729`.)
* Constructors for the parsing classes in the :mod:`ConfigParser` module now
- take a *allow_no_value* parameter, defaulting to false; if true,
+ take an *allow_no_value* parameter, defaulting to false; if true,
options without values will be allowed. For example::
>>> import ConfigParser, StringIO