[Python-Dev] Should I postpone PEP 558 (locals() semantics) to Python 3.9?

Nick Coghlan ncoghlan at gmail.com
Thu May 30 19:22:05 EDT 2019


Hi folks,

The reference implementation for PEP 558 (my attempt to fix the interaction
between tracing functions and closure variables) is currently segfaulting
somewhere deep in the garbage collector, and I've found that there's an
issue with the PyEval_GetLocals() API returning a borrowed reference that
means I need to tweak the proposed C API a bit such that PyEval_GetLocals()
returns the proxy at function scope, and we add a new PyEval_GetPyLocals()
that matches the locals() builtin.

I don't *want* to postpone this to Python 3.9, but there turned out to be
more remaining work than I thought there was to get this ready for
inclusion in beta 1.

I'll try to get the C API design details sorted today, but the segfault is
mystifying me, and prevents the option of putting the core implementation
in place for b1, and tidying up the documentation and comments for b2.

Cheers,
Nick.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20190531/b9f7cf3b/attachment.html>


More information about the Python-Dev mailing list