[Python-Dev] Fast access to builtins (original) (raw)
Jeremy Hylton jeremy@alum.mit.edu
27 Mar 2003 23:45:31 -0500
- Previous message: [Python-Dev] Fast access to __builtins__
- Next message: [Python-Dev] Fast access to __builtins__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Thu, 2003-03-27 at 23:15, Guido van Rossum wrote:
> I really like this idea. If a patch appeared on SF soon, do you think > 2.3 could include a warning for code that violates the rule?
Maybe. Though you probably would only want to warn when this is done to a .py module -- C extensions should be exempt. And the warning should only warn about inserting names that are actually builtins.
It seems like C extensions pose thorny problems that need to be solved. In particular, the C API says that module's have a dictionary and that adding a key creates global variable in the module. We'll have to break this one way or another, because we don't want to allow C extensions to add globals that shadow builtins. Right?
There's a similar problem for Python code, but I imagine it's easy to come up with a dict proxy with the necessary restrictions along the lines of a new-style class dict proxy.
How do we break the C API? There's lots of extension code that relies on getting the dict. My first guess is to add an exception that says setting a name that shadows a builtin has no effect. Then extend the getattr code and the module-dict-proxy to ignore those names.
Jeremy
- Previous message: [Python-Dev] Fast access to __builtins__
- Next message: [Python-Dev] Fast access to __builtins__
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]