issue3972: HTTPConnection and HTTPSConnection now support a
source_address parameter.

Also cleans up an annotation in the socket documentation.
diff --git a/Doc/library/httplib.rst b/Doc/library/httplib.rst
index d881968..3725933 100644
--- a/Doc/library/httplib.rst
+++ b/Doc/library/httplib.rst
@@ -34,7 +34,7 @@
 The module provides the following classes:
 
 
-.. class:: HTTPConnection(host[, port[, strict[, timeout]]])
+.. class:: HTTPConnection(host[, port[, strict[, timeout[, source_address]]]])
 
    An :class:`HTTPConnection` instance represents one transaction with an HTTP
    server.  It should be instantiated passing it a host and optional port
@@ -46,6 +46,8 @@
    status line.  If the optional *timeout* parameter is given, blocking
    operations (like connection attempts) will timeout after that many seconds
    (if it is not given, the global default timeout setting is used).
+   The optional *source_address* parameter may be a tuple of a (host, port)
+   to use as the source address the HTTP connection is made from.
 
    For example, the following calls all create instances that connect to the server
    at the same host and port::
@@ -60,8 +62,11 @@
    .. versionchanged:: 2.6
       *timeout* was added.
 
+   .. versionchanged:: 2.7
+      *source_address* was added.
 
-.. class:: HTTPSConnection(host[, port[, key_file[, cert_file[, strict[, timeout]]]]])
+
+.. class:: HTTPSConnection(host[, port[, key_file[, cert_file[, strict[, timeout[, source_address]]]]]])
 
    A subclass of :class:`HTTPConnection` that uses SSL for communication with
    secure servers.  Default port is ``443``. *key_file* is the name of a PEM
@@ -77,6 +82,9 @@
    .. versionchanged:: 2.6
       *timeout* was added.
 
+   .. versionchanged:: 2.7
+      *source_address* was added.
+
 
 .. class:: HTTPResponse(sock[, debuglevel=0][, strict=0])
 
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index 2e0c6d6..98dcceb 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -213,13 +213,14 @@
    *timeout* is supplied, the global default timeout setting returned by
    :func:`getdefaulttimeout` is used.
 
-   .. versionadded:: 2.6
-
    If supplied, *source_address* must be a 2-tuple ``(host, port)`` for the
    socket to bind to as its source address before connecting.  If host or port
    are '' or 0 respectively the OS default behavior will be used.
 
-   .. versionadded:: 2.7
+   .. versionadded:: 2.6
+
+   .. versionchanged:: 2.7
+      *source_address* was added.
 
 
 .. function:: getaddrinfo(host, port[, family[, socktype[, proto[, flags]]]])