This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients Mark.Shannon, arigo, belopolsky, benjamin.peterson, ncoghlan, njs, xdegaye, xgdomingo, yselivanov
Date 2017-10-15.06:04:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1508047495.06.0.213398074469.issue30744@psf.upfronthosting.co.za>
In-reply-to
Content
Just confirming that the locals() vs frame.f_locals distinction also exists in the C API: the former is PyEval_GetLocals() (which implicitly ensures the snapshot is up to date), while the equivalent of the latter is direct access to frame->f_locals (and it's left to code accessing the field to decide whether it needs an up to date snapshot or not).

That means I'll be able to change what we store in frame->f_locals, while updating PyEval_GetLocals to check for a _FastLocalsProxy instance and return a reference to the underlying snapshot instead.
History
Date User Action Args
2017-10-15 06:04:55ncoghlansetrecipients: + ncoghlan, arigo, belopolsky, benjamin.peterson, njs, xdegaye, Mark.Shannon, yselivanov, xgdomingo
2017-10-15 06:04:55ncoghlansetmessageid: <1508047495.06.0.213398074469.issue30744@psf.upfronthosting.co.za>
2017-10-15 06:04:55ncoghlanlinkissue30744 messages
2017-10-15 06:04:54ncoghlancreate