Nathaniel Smith wrote:
- [proxy]: Simply return the .f_locals object, so in all contexts locals() returns a live mutable view of the actual environment:def locals(): return get_caller_frame().f_locals
Not sure I quite follow this -- as far as I can see, f_locals currently has the same snapshot behaviour as locals(). I'm assuming you mean to change things so that locals() returns a mutable view tracking the environment in both directions. That sounds like a much better idea all round to me. No weird shared-snapshot behaviour, and no need for anything to behave differently when tracing. If the change to the behaviour of exec() and eval() is a concern, then perhaps there should be a new localsview() function that returns a mutable view, with locals() redefined as dict(localsview()). -- Greg _______________________________________________ Python-Dev mailing list [email protected] https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com
