Hi - I'm trying to subclass a dict which is used as the globals environment of an eval expression. For instance:
class Foo(dict): def __init__(self): self.update(globals()) self['val'] = 42 def __getitem__(self, item): # this doesn't get called from the eval statement print "*", item return dict.__getitem__(self, item) a = Foo() print a['val'] print eval('val*2+6', a) The first print statements also prints "* val", but __getitem__ is never called by the evaluation in the eval statement. Is this a bug? Does anyone have an idea for a workaround? I'm using Python 2.3.3. Thanks Jeremy -- http://mail.python.org/mailman/listinfo/python-list