updated eval(), added execfile()
diff --git a/Doc/libfuncs.tex b/Doc/libfuncs.tex
index 923daf3..f276fb2 100644
--- a/Doc/libfuncs.tex
+++ b/Doc/libfuncs.tex
@@ -87,16 +87,16 @@
   \code{(math.floor(\var{a} / \var{b}), \var{a} \%{} \var{b})}.
 \end{funcdesc}
 
-\begin{funcdesc}{eval}{s\optional{\, globals\optional{\, locals}}}
+\begin{funcdesc}{eval}{expression\optional{\, globals\optional{\, locals}}}
   The arguments are a string and two optional dictionaries.  The
-  string argument is parsed and evaluated as a Python expression
-  (technically speaking, a condition list) using the dictionaries as
-  global and local name space.  The string must not contain null bytes
-  or newline characters.  The return value is the
-  result of the expression.  If the third argument is omitted it
-  defaults to the second.  If both dictionaries are omitted, the
+  \var{expression} argument is parsed and evaluated as a Python
+  expression (technically speaking, a condition list) using the
+  \var{globals} and \var{locals} dictionaries as global and local name
+  space.  If the \var{globals} dictionary is omitted it defaults to
+  the \var{locals} dictionary.  If both dictionaries are omitted, the
   expression is executed in the environment where \code{eval} is
-  called.  Syntax errors are reported as exceptions.  Example:
+  called.  The return value is the result of the evaluated expression.
+  Syntax errors are reported as exceptions.  Example:
 
 \bcode\begin{verbatim}
 >>> x = 1
@@ -111,10 +111,28 @@
   passing \code{'eval'} to the \var{kind} argument.
 
   Note: dynamic execution of statements is supported by the
-  \code{exec} statement.
+  \code{exec} statement.  Execution of statements from a file is
+  supported by the \code{execfile()} function.
 
 \end{funcdesc}
 
+\begin{funcdesc}{execfile}{file\optional{\, globals\optional{\, locals}}}
+  This function is similar to the \code{eval()} function or the
+  \code{exec} statement, but parses a file instead of a string.  It is
+  different from the \code{import} statement in that it does not use
+  the module administration -- it reads the file unconditionally and
+  does not create a new module.
+
+  The arguments are a file name and two optional dictionaries.  The
+  file is parsed and evaluated as a sequence of Python statements
+  (similarly to a module) using the \var{globals} and \var{locals}
+  dictionaries as global and local name space.  If the \var{globals}
+  dictionary is omitted it defaults to the \var{locals} dictionary.
+  If both dictionaries are omitted, the expression is executed in the
+  environment where \code{execfile} is called.  The return value is
+  None.
+\end{funcdesc}
+
 \begin{funcdesc}{filter}{function\, list}
 Construct a list from those elements of \var{list} for which
 \var{function} returns true.  If \var{list} is a string or a tuple,