diff -r 82cfbe2ddfbb Doc/library/functions.rst --- a/Doc/library/functions.rst Wed May 11 12:24:17 2011 -0400 +++ b/Doc/library/functions.rst Thu May 12 11:38:54 2011 -0400 @@ -373,7 +373,12 @@ current scope. If only *globals* is provided, it must be a dictionary, which will be used for both the global and the local variables. If *globals* and *locals* are given, they are used for the global and local variables, - respectively. If provided, *locals* can be any mapping object. + respectively. If provided, *locals* can be any mapping object. When the + code contains only the global dictionary, or the same dictionary is used for + both the global and local variables, the code is executed in a new top-level + scope. However, when two different objects are used for the global and local + variables, the code is executed as if it were in a class statement in a new + top-level scope. If the *globals* dictionary does not contain a value for the key ``__builtins__``, a reference to the dictionary of the built-in module