[Python-Dev] Accessing globals without dict lookup

Guido van Rossum guido@python.org
Mon, 11 Feb 2002 09:31:32 -0500


> Just a few quick questions before go back into lurcking mode:

Note that I've moved my design to a new PEP, PEP 280.  Tim has added
his approach there too.  Please read it!!!

> Will it still be possible to:
> a) install new builtins in the __builtin__ namespace and have them
>    available in all already loaded modules right away ?
> b) override builtins (e.g. open()) with my own copies 
>    (e.g. to increase security) in a way that makes these new
>    copies override the previous ones in all modules ?

Yes, this is the whole point of this design.  In the original
approach, when LOAD_GLOBAL_CELL finds a NULL in the second cell, it
should go back to see if the __builtins__ dict has been modified (the
pseudo code doesn't have this yet).  Tim's alternative also takes care
of this.

> Also, how does the new scheme get along with the restricted 
> execution model ?

Yes, again.

> (I have a feeling that this model needs some auditing since so many
> new ways of accessing variables and attributes were introduced since
> the days of 1.5.2)

You may be right.

--Guido van Rossum (home page: http://www.python.org/~guido/)