Branch merge
diff --git a/Doc/howto/descriptor.rst b/Doc/howto/descriptor.rst
index 81bb8ca..1616f67 100644
--- a/Doc/howto/descriptor.rst
+++ b/Doc/howto/descriptor.rst
@@ -42,7 +42,7 @@
 
 Descriptors are a powerful, general purpose protocol.  They are the mechanism
 behind properties, methods, static methods, class methods, and :func:`super()`.
-They are used used throughout Python itself to implement the new style classes
+They are used throughout Python itself to implement the new style classes
 introduced in version 2.2.  Descriptors simplify the underlying C-code and offer
 a flexible set of new tools for everyday Python programs.
 
diff --git a/Doc/library/logging.handlers.rst b/Doc/library/logging.handlers.rst
index 378c071..a18cf92 100644
--- a/Doc/library/logging.handlers.rst
+++ b/Doc/library/logging.handlers.rst
@@ -614,7 +614,7 @@
 supports sending logging messages to an email address via SMTP.
 
 
-.. class:: SMTPHandler(mailhost, fromaddr, toaddrs, subject, credentials=None)
+.. class:: SMTPHandler(mailhost, fromaddr, toaddrs, subject, credentials=None, secure=None)
 
    Returns a new instance of the :class:`SMTPHandler` class. The instance is
    initialized with the from and to addresses and subject line of the email. The
@@ -623,6 +623,12 @@
    the standard SMTP port is used. If your SMTP server requires authentication, you
    can specify a (username, password) tuple for the *credentials* argument.
 
+   To specify the use of a secure protocol (TLS), pass in a tuple to the
+   *secure* argument. This will only be used when authentication credentials are
+   supplied. The tuple should be either an empty tuple, or a single-value tuple
+   with the name of a keyfile, or a 2-value tuple with the names of the keyfile
+   and certificate file. (This tuple is passed to the
+   :meth:`smtplib.SMTP.starttls` method.)
 
    .. method:: emit(record)
 
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index e43fc04..57a60ed 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -2712,6 +2712,16 @@
 It is written as ``Ellipsis`` or ``...``.
 
 
+The NotImplemented Object
+-------------------------
+
+This object is returned from comparisons and binary operations when they are
+asked to operate on types they don't support. See :ref:`comparisons` for more
+information.
+
+It is written as ``NotImplemented``.
+
+
 Boolean Values
 --------------
 
diff --git a/Doc/reference/expressions.rst b/Doc/reference/expressions.rst
index d85a9c6..655ebde 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -673,7 +673,7 @@
 If the syntax ``*expression`` appears in the function call, ``expression`` must
 evaluate to an iterable.  Elements from this iterable are treated as if they
 were additional positional arguments; if there are positional arguments
-*x1*, ... ,*xN*, and ``expression`` evaluates to a sequence *y1*, ..., *yM*,
+*x1*, ..., *xN*, and ``expression`` evaluates to a sequence *y1*, ..., *yM*,
 this is equivalent to a call with M+N positional arguments *x1*, ..., *xN*,
 *y1*, ..., *yM*.
 
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
index cd225c9..54f4e0c 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -178,17 +178,21 @@
         # Some sites do not send Connection: close header.
         # Verify that those work properly. (#issue12576)
 
-        try:
-            with urllib.request.urlopen('http://www.imdb.com') as res:
-                pass
-        except ValueError as e:
-            self.fail("urlopen failed for sites not sending Connection:close")
-        else:
-            self.assertTrue(res)
+        URL = 'http://www.imdb.com' # mangles Connection:close
 
-        req = urllib.request.urlopen('http://www.imdb.com')
-        res = req.read()
-        self.assertTrue(res)
+        with support.transient_internet(URL):
+            try:
+                with urllib.request.urlopen(URL) as res:
+                    pass
+            except ValueError as e:
+                self.fail("urlopen failed for site not sending \
+                           Connection:close")
+            else:
+                self.assertTrue(res)
+
+            req = urllib.request.urlopen(URL)
+            res = req.read()
+            self.assertTrue(res)
 
     def _test_urls(self, urls, handlers, retry=True):
         import time