diff -r dc407f50e823 -r 60c84c5380d9 Doc/library/functions.rst --- a/Doc/library/functions.rst Sat Nov 26 13:50:21 2016 +0200 +++ b/Doc/library/functions.rst Sat Nov 26 15:32:48 2016 +0100 @@ -396,8 +396,10 @@ The *expression* argument is parsed and evaluated as a Python expression (technically speaking, a condition list) using the *globals* and *locals* dictionaries as global and local namespace. If the *globals* dictionary is - present and lacks '__builtins__', the current globals are copied into *globals* - before *expression* is parsed. This means that *expression* normally has full + present and does not contain a value for the key '__builtins__', + a reference to the dictionary of the built-in module builtins is inserted + under that key before *expression* is parsed. + This means that *expression* normally has full access to the standard :mod:`builtins` module and restricted environments are propagated. If the *locals* dictionary is omitted it defaults to the *globals* dictionary. If both dictionaries are omitted, the expression is executed in the