From: Raymond Hettinger Date: Tue, 3 Aug 2004 05:17:58 +0000 (+0000) Subject: Document general mappings for the locals argument for exec and execfile(). X-Git-Tag: v2.4a2~54 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=70fcdb8be0ef544432b8bd48a0abd0475f0fb778;p=python Document general mappings for the locals argument for exec and execfile(). --- diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex index b3d3d30b45..ec6a66c58a 100644 --- a/Doc/lib/libfuncs.tex +++ b/Doc/lib/libfuncs.tex @@ -343,13 +343,14 @@ class C: and does not create a new module.\footnote{It is used relatively rarely so does not warrant being made into a statement.} - 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 namespace. If the \var{locals} - dictionary is omitted it defaults to the \var{globals} dictionary. - If both dictionaries are omitted, the expression is executed in the - environment where \function{execfile()} is called. The return value is + 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 namespace. If provided, \var{locals} can be any mapping object. + \versionchanged[formerly \var{locals} was required to be a dictionary]{2.4} + If the \var{locals} dictionary is omitted it defaults to the \var{globals} + dictionary. If both dictionaries are omitted, the expression is executed in + the environment where \function{execfile()} is called. The return value is \code{None}. \warning{The default \var{locals} act as described for function diff --git a/Doc/ref/ref6.tex b/Doc/ref/ref6.tex index a389176eee..1017acaa47 100644 --- a/Doc/ref/ref6.tex +++ b/Doc/ref/ref6.tex @@ -873,8 +873,9 @@ In all cases, if the optional parts are omitted, the code is executed in the current scope. If only the first expression after \keyword{in} is specified, it should be a dictionary, which will be used for both the global and the local variables. If two expressions are given, -both must be dictionaries and they are used for the global and local -variables, respectively. +they are used for the global and local variables, respectively. +If provided, \var{locals} can be any mapping object. +\versionchanged[formerly \var{locals} was required to be a dictionary]{2.4} As a side effect, an implementation may insert additional keys into the dictionaries given besides those corresponding to variable names