diff --git a/Doc/library/compileall.rst b/Doc/library/compileall.rst
index ac0feb7..d576696 100644
--- a/Doc/library/compileall.rst
+++ b/Doc/library/compileall.rst
@@ -1,4 +1,3 @@
-
 :mod:`compileall` --- Byte-compile Python libraries
 ===================================================
 
@@ -50,14 +49,14 @@
 
    Expand list with its content (file and directory names).
 
-.. versionadded:: 2.7
-   The ``-i``  option.
+.. versionchanged:: 2.7
+   Added the ``-i``  option.
 
 
 Public functions
 ----------------
 
-.. function:: compile_dir(dir[, maxlevels[, ddir[, force[,  rx[, quiet]]]]])
+.. function:: compile_dir(dir[, maxlevels[, ddir[, force[, rx[, quiet]]]]])
 
    Recursively descend the directory tree named by *dir*, compiling all :file:`.py`
    files along the way.  The *maxlevels* parameter is used to limit the depth of
@@ -72,6 +71,23 @@
    If *quiet* is true, nothing is printed to the standard output in normal
    operation.
 
+
+.. function:: compile_file(fullname[, ddir[, force[, rx[, quiet]]]])
+
+   Compile the file with path *fullname*.  If *ddir* is given, it is used as the
+   base path from  which the filename used in error messages will be generated.
+   If *force* is true, modules are re-compiled even if the timestamp is up to
+   date.
+
+   If *rx* is given, it specifies a regular expression which, if matched, will
+   prevent compilation; that expression is searched for in the full path.
+
+   If *quiet* is true, nothing is printed to the standard output in normal
+   operation.
+
+   .. versionadded:: 2.7
+
+
 .. function:: compile_path([skip_curdir[, maxlevels[, force]]])
 
    Byte-compile all the :file:`.py` files found along ``sys.path``. If
diff --git a/Lib/compileall.py b/Lib/compileall.py
index f564abb..910f305 100644
--- a/Lib/compileall.py
+++ b/Lib/compileall.py
@@ -9,7 +9,6 @@
 packages -- for now, you'll have to deal with packages separately.)
 
 See module py_compile for details of the actual byte-compilation.
-
 """
 import os
 import sys
@@ -31,7 +30,6 @@
                directory name that will show up in error messages)
     force:     if 1, force compilation, even if timestamps are up-to-date
     quiet:     if 1, be quiet during compilation
-
     """
     if not quiet:
         print 'Listing', dir, '...'
@@ -61,15 +59,16 @@
     return success
 
 def compile_file(fullname, ddir=None, force=0, rx=None, quiet=0):
-    """Byte-compile file.
-    file:      the file to byte-compile
+    """Byte-compile one file.
+
+    Arguments (only fullname is required):
+
+    fullname:  the file to byte-compile
     ddir:      if given, purported directory name (this is the
                directory name that will show up in error messages)
     force:     if 1, force compilation, even if timestamps are up-to-date
     quiet:     if 1, be quiet during compilation
-
     """
-
     success = 1
     name = os.path.basename(fullname)
     if ddir is not None:
@@ -120,7 +119,6 @@
     maxlevels:   max recursion level (default 0)
     force: as for compile_dir() (default 0)
     quiet: as for compile_dir() (default 0)
-
     """
     success = 1
     for dir in sys.path:
