diff --git a/Doc/library/ctypes.rst b/Doc/library/ctypes.rst
index 51d340c..939bf8f 100644
--- a/Doc/library/ctypes.rst
+++ b/Doc/library/ctypes.rst
@@ -1875,8 +1875,6 @@
    module with a call to the ``free(void *)``, it is important that you
    use the function in the same library that allocated the memory.
 
-   .. versionadded:: 2.6
-
 .. function:: FormatError([code])
 
    Windows only: Returns a textual description of the error code. If no error code
@@ -1895,15 +1893,11 @@
    Returns the current value of the ctypes-private copy of the system
    `errno` variable in the calling thread.
 
-   .. versionadded:: 2.6
-
 .. function:: get_last_error()
 
    Windows only: returns the current value of the ctypes-private copy of the system
    `LastError` variable in the calling thread.
 
-   .. versionadded:: 2.6
-
 .. function:: memmove(dst, src, count)
 
    Same as the standard C memmove library function: copies *count* bytes from
@@ -1961,16 +1955,12 @@
    `errno` variable in the calling thread to `value` and return the
    previous value.
 
-   .. versionadded:: 2.6
-
 .. function:: set_last_error(value)
 
    Windows only: set the current value of the ctypes-private copy of
    the system `LastError` variable in the calling thread to `value`
    and return the previous value.
 
-   .. versionadded:: 2.6
-
 .. function:: sizeof(obj_or_type)
 
    Returns the size in bytes of a ctypes type or instance memory buffer. Does the
@@ -2164,8 +2154,6 @@
    optional float initializer.  On platforms where ``sizeof(long
    double) == sizeof(double)`` it is an alias to :class:`c_double`.
 
-   .. versionadded:: 2.6
-
 .. class:: c_float
 
    Represents the C float datatype. The constructor accepts an optional float
diff --git a/Doc/library/numbers.rst b/Doc/library/numbers.rst
index ef4bd80..e2d08bb 100644
--- a/Doc/library/numbers.rst
+++ b/Doc/library/numbers.rst
@@ -181,7 +181,7 @@
 
     def _operator_fallbacks(monomorphic_operator, fallback_operator):
         def forward(a, b):
-            if isinstance(b, (int, long, Fraction)):
+            if isinstance(b, (int, Fraction)):
                 return monomorphic_operator(a, b)
             elif isinstance(b, float):
                 return fallback_operator(float(a), b)
