Doc: replace PEP xxx by :pep:`xxx` to create a link on the PEP
diff --git a/Doc/howto/cporting.rst b/Doc/howto/cporting.rst
index 9b66650..c0b5933 100644
--- a/Doc/howto/cporting.rst
+++ b/Doc/howto/cporting.rst
@@ -118,7 +118,7 @@
 Module initialization and state
 ===============================
 
-Python 3.0 has a revamped extension module initialization system.  (See PEP
+Python 3.0 has a revamped extension module initialization system.  (See
 :pep:`3121`.)  Instead of storing module state in globals, they should be stored
 in an interpreter specific structure.  Creating modules that act correctly in
 both 2.x and 3.0 is tricky.  The following simple example demonstrates how. ::
diff --git a/Doc/library/pkgutil.rst b/Doc/library/pkgutil.rst
index f169263..5189377 100644
--- a/Doc/library/pkgutil.rst
+++ b/Doc/library/pkgutil.rst
@@ -45,7 +45,7 @@
 
    Get a resource from a package.
 
-   This is a wrapper for the PEP 302 loader :func:`get_data` API. The package
+   This is a wrapper for the :pep:`302` loader :func:`get_data` API. The package
    argument should be the name of a package, in standard module format
    (foo.bar). The resource argument should be in the form of a relative
    filename, using ``/`` as the path separator. The parent directory name
@@ -60,5 +60,5 @@
        d = os.path.dirname(sys.modules[package].__file__)
        data = open(os.path.join(d, resource), 'rb').read()
 
-   If the package cannot be located or loaded, or it uses a PEP 302 loader
+   If the package cannot be located or loaded, or it uses a :pep:`302` loader
    which does not support :func:`get_data`, then None is returned.
diff --git a/Doc/library/runpy.rst b/Doc/library/runpy.rst
index ffc7d13..23d0730 100644
--- a/Doc/library/runpy.rst
+++ b/Doc/library/runpy.rst
@@ -20,7 +20,7 @@
 
    Execute the code of the specified module and return the resulting module
    globals dictionary. The module's code is first located using the standard
-   import mechanism (refer to PEP 302 for details) and then executed in a
+   import mechanism (refer to :pep:`302` for details) and then executed in a
    fresh module namespace.
 
    If the supplied module name refers to a package rather than a normal
@@ -47,7 +47,7 @@
    loader does not make filename information available, this variable is set
    to :const:`None`.
 
-   ``__loader__`` is set to the PEP 302 module loader used to retrieve the
+   ``__loader__`` is set to the :pep:`302` module loader used to retrieve the
    code for the module (This loader may be a wrapper around the standard
    import mechanism).
 
@@ -105,7 +105,7 @@
    loader does not make filename information available, this variable is set
    to :const:`None`. For a simple script, this will be set to ``file_path``.
 
-   ``__loader__`` is set to the PEP 302 module loader used to retrieve the
+   ``__loader__`` is set to the :pep:`302` module loader used to retrieve the
    code for the module (This loader may be a wrapper around the standard
    import mechanism). For a simple script, this will be set to :const:`None`.
 
diff --git a/Doc/library/threading.rst b/Doc/library/threading.rst
index 4627ca6..a0a1fdd 100644
--- a/Doc/library/threading.rst
+++ b/Doc/library/threading.rst
@@ -14,7 +14,7 @@
 
 .. note::
 
-   Starting with Python 2.6, this module provides PEP 8 compliant aliases and
+   Starting with Python 2.6, this module provides :pep:`8` compliant aliases and
    properties to replace the ``camelCase`` names that were inspired by Java's
    threading API. This updated API is compatible with that of the
    :mod:`multiprocessing` module. However, no schedule has been set for the
diff --git a/Doc/library/wsgiref.rst b/Doc/library/wsgiref.rst
index a97eaec..517fc38 100644
--- a/Doc/library/wsgiref.rst
+++ b/Doc/library/wsgiref.rst
@@ -712,7 +712,7 @@
    # use a function (note that you're not limited to a function, you can
    # use a class for example). The first argument passed to the function
    # is a dictionary containing CGI-style envrironment variables and the
-   # second variable is the callable object (see PEP333)
+   # second variable is the callable object (see :pep:`333`)
    def hello_world_app(environ, start_response):
        status = '200 OK' # HTTP Status
        headers = [('Content-type', 'text/plain')] # HTTP Headers
diff --git a/Doc/library/zipimport.rst b/Doc/library/zipimport.rst
index 0d3164a..43e12b1 100644
--- a/Doc/library/zipimport.rst
+++ b/Doc/library/zipimport.rst
@@ -41,12 +41,12 @@
       Documentation on the ZIP file format by Phil Katz, the creator of the format and
       algorithms used.
 
-   :pep:`0273` - Import Modules from Zip Archives
+   :pep:`273` - Import Modules from Zip Archives
       Written by James C. Ahlstrom, who also provided an implementation. Python 2.3
       follows the specification in PEP 273, but uses an implementation written by Just
       van Rossum that uses the import hooks described in PEP 302.
 
-   :pep:`0302` - New Import Hooks
+   :pep:`302` - New Import Hooks
       The PEP to add the import hooks that help this module work.