Branch merge
diff --git a/Doc/howto/descriptor.rst b/Doc/howto/descriptor.rst
index 55a1d62..78c1439 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 9db262a..1a14499 100644
--- a/Doc/library/logging.handlers.rst
+++ b/Doc/library/logging.handlers.rst
@@ -613,8 +613,14 @@
    port, use the (host, port) tuple format for the *mailhost* argument. If you
    use a string, the standard SMTP port is used. If your SMTP server requires
    authentication, you can specify a (username, password) tuple for the
-   *credentials* argument. If *secure* is True, then the handler will attempt
-   to use TLS for the email transmission.
+   *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.)
 
    .. versionchanged:: 2.6
       *credentials* was added.
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 944e763..dc3a814 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -2930,7 +2930,18 @@
 supports no special operations.  There is exactly one ellipsis object, named
 :const:`Ellipsis` (a built-in name).
 
-It is written as ``Ellipsis``.
+It is written as ``Ellipsis``.  When in a subscript, it can also be written as
+``...``, for example ``seq[...]``.
+
+
+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 b54bfd0..e2cc80d 100644
--- a/Doc/reference/expressions.rst
+++ b/Doc/reference/expressions.rst
@@ -741,7 +741,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*, this
+*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 1375cda..bd2c467 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -190,9 +190,11 @@
         # Some sites do not send Connection: close header.
         # Verify that those work properly. (#issue12576)
 
-        req = urllib2.urlopen('http://www.imdb.com')
-        res = req.read()
-        self.assertTrue(res)
+        URL = 'http://www.imdb.com' # No Connection:close
+        with test_support.transient_internet(URL):
+            req = urllib2.urlopen(URL)
+            res = req.read()
+            self.assertTrue(res)
 
     def _test_urls(self, urls, handlers, retry=True):
         import time