Add doc for compileall.compile_file
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: