Minor spelling fixes
diff --git a/Doc/library/asyncio-protocol.rst b/Doc/library/asyncio-protocol.rst
index bd6ddb6..a38d1e0 100644
--- a/Doc/library/asyncio-protocol.rst
+++ b/Doc/library/asyncio-protocol.rst
@@ -11,7 +11,7 @@
 
 Transports are classes provided by :mod:`asyncio` in order to abstract
 various kinds of communication channels.  You generally won't instantiate
-a transport yourself; instead, you will call a :class:`AbstractEventLoop` method
+a transport yourself; instead, you will call an :class:`AbstractEventLoop` method
 which will create the transport and try to initiate the underlying
 communication channel, calling you back when it succeeds.
 
diff --git a/Doc/library/email.contentmanager.rst b/Doc/library/email.contentmanager.rst
index cd63728..c25d073 100644
--- a/Doc/library/email.contentmanager.rst
+++ b/Doc/library/email.contentmanager.rst
@@ -347,7 +347,7 @@
 
    .. method:: get_content(msg, errors='replace')
 
-      Return the payload of the part as either a string (for ``text`` parts), a
+      Return the payload of the part as either a string (for ``text`` parts), an
       :class:`~email.message.EmailMessage` object (for ``message/rfc822``
       parts), or a ``bytes`` object (for all other non-multipart types).  Raise
       a :exc:`KeyError` if called on a ``multipart``.  If the part is a
diff --git a/Doc/library/xml.dom.pulldom.rst b/Doc/library/xml.dom.pulldom.rst
index c3339ed..b502554 100644
--- a/Doc/library/xml.dom.pulldom.rst
+++ b/Doc/library/xml.dom.pulldom.rst
@@ -74,7 +74,7 @@
 .. function:: parse(stream_or_string, parser=None, bufsize=None)
 
    Return a :class:`DOMEventStream` from the given input. *stream_or_string* may be
-   either a file name, or a file-like object. *parser*, if given, must be a
+   either a file name, or a file-like object. *parser*, if given, must be an
    :class:`~xml.sax.xmlreader.XMLReader` object. This function will change the
    document handler of the
    parser and activate namespace support; other parser configuration (like
diff --git a/Doc/whatsnew/2.7.rst b/Doc/whatsnew/2.7.rst
index 86f0197..534ed0f 100644
--- a/Doc/whatsnew/2.7.rst
+++ b/Doc/whatsnew/2.7.rst
@@ -532,7 +532,7 @@
   calling ``log.getChild('network.listen')`` is equivalent to
   ``getLogger('app.network.listen')``.
 
-* The :class:`~logging.LoggerAdapter` class gained a
+* The :class:`~logging.LoggerAdapter` class gained an
   :meth:`~logging.LoggerAdapter.isEnabledFor` method that takes a
   *level* and returns whether the underlying logger would
   process a message of that level of importance.
diff --git a/Include/pymacconfig.h b/Include/pymacconfig.h
index 0c28f5c..9dde11b 100644
--- a/Include/pymacconfig.h
+++ b/Include/pymacconfig.h
@@ -63,7 +63,7 @@
 #    if defined(__LP64__)
      /* MacOSX 10.4 (the first release to support 64-bit code
       * at all) only supports 64-bit in the UNIX layer.
-      * Therefore surpress the toolbox-glue in 64-bit mode.
+      * Therefore suppress the toolbox-glue in 64-bit mode.
       */
 
     /* In 64-bit mode setpgrp always has no arguments, in 32-bit
@@ -91,7 +91,7 @@
      *
      * Specifically: OSX 10.4 has limited supported for '%zd', while
      * 10.5 has full support for '%zd'. A binary built on 10.5 won't
-     * work properly on 10.4 unless we surpress the definition
+     * work properly on 10.4 unless we suppress the definition
      * of PY_FORMAT_SIZE_T
      */
 #undef  PY_FORMAT_SIZE_T
diff --git a/Misc/NEWS b/Misc/NEWS
index 3ef2e61..df0d0ec 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -180,7 +180,7 @@
 Build
 -----
 
-- Issue #27713: Surpress spurious build warnings when updating importlib's
+- Issue #27713: Suppress spurious build warnings when updating importlib's
   bootstrap files.  Patch by Xiang Zhang
 
 - Issue #25825: Correct the references to Modules/python.exp, which is