Issue #13557: Clarify effect of giving two different namespaces to exec or
execfile().
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 3fcd694..b6252e6 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -417,7 +417,10 @@
    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.  Remember
+   that at module level, globals and locals are the same dictionary. If exec
+   gets two separate objects as *globals* and *locals*, the code will be
+   executed as if it were embedded in a class definition.
 
    If the *globals* dictionary does not contain a value for the key
    ``__builtins__``, a reference to the dictionary of the built-in module