From af5910f0259ae9667d23f7829de1298491704fee Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Sun, 30 Sep 2001 06:32:59 +0000 Subject: [PATCH] The execfile() docs imply it acts on locals same as exec. But in truth it acts more like assigning to keys in locals(), i.e. modifications to function locals aren't reflected in the locals when execfile() returns. --- Doc/lib/libfuncs.tex | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex index 8eccc828a6..ec7ce86eed 100644 --- a/Doc/lib/libfuncs.tex +++ b/Doc/lib/libfuncs.tex @@ -257,6 +257,13 @@ class instances are callable if they have a \method{__call__()} method. If both dictionaries are omitted, the expression is executed in the environment where \function{execfile()} is called. The return value is \code{None}. + + \strong{Warning:} The default \var{locals} act as described for function + \function{locals()} below: modifications to the default \var{locals} + dictionary should not be attempted. Pass an explicit \var{locals} + dictionary if you need to see effects of the code on \var{locals} after + function \function{execfile()} returns. \function{execfile()} cannot + be used reliably to modify a function's locals. \end{funcdesc} \begin{funcdesc}{file}{filename\optional{, mode\optional{, bufsize}}} -- 2.40.0