Adapt/remove mentions of functions gone in 3.x
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 8b2f047..d1a3daf 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -473,15 +473,6 @@
        ...
        g(x, *args, **kwargs)
 
-In the unlikely case that you care about Python versions older than 2.0, use
-:func:`apply`::
-
-   def f(x, *args, **kwargs):
-       ...
-       kwargs['width'] = '14.3c'
-       ...
-       apply(g, (x,)+args, kwargs)
-
 
 How do I write a function with output parameters (call by reference)?
 ---------------------------------------------------------------------
diff --git a/Doc/faq/windows.rst b/Doc/faq/windows.rst
index 6b37faf..68a1b5c 100644
--- a/Doc/faq/windows.rst
+++ b/Doc/faq/windows.rst
@@ -543,7 +543,7 @@
 
 If you can't change compilers or flags, try using :c:func:`Py_RunSimpleString`.
 A trick to get it to run an arbitrary file is to construct a call to
-:func:`execfile` with the name of your file as argument.
+:func:`exec` and :func:`open` with the name of your file as argument.
 
 Also note that you can not mix-and-match Debug and Release versions.  If you
 wish to use the Debug Multithreaded DLL, then your module *must* have ``_d``
diff --git a/Doc/glossary.rst b/Doc/glossary.rst
index 63d4c2b..3b211ae 100644
--- a/Doc/glossary.rst
+++ b/Doc/glossary.rst
@@ -492,7 +492,7 @@
       :func:`builtins.open` and :func:`os.open` are distinguished by their
       namespaces.  Namespaces also aid readability and maintainability by making
       it clear which module implements a function.  For instance, writing
-      :func:`random.seed` or :func:`itertools.izip` makes it clear that those
+      :func:`random.seed` or :func:`itertools.islice` makes it clear that those
       functions are implemented by the :mod:`random` and :mod:`itertools`
       modules, respectively.