Mark Shannon
Mark Shannon
Having thought about this some more. Here's an approach that will hopefully keep everyone happy, with almost no change for users if they keep using `locals()` and `PyEval_GetLocals`, but still...
The downside of this is that it creates more cycles, but no more than 3.12. We shouldn't worry about the old API creating cycles. We should, as @ncoghlan says, make...
OK, so it sounds like the consensus is to keep the new behavior for `locals()`. That leaves `PyEval_GetLocals()` and `PyEval_GetFrameLocals()` to fix. `PyEval_GetFrameLocals()` should return a `FrameLocalsProxy`, as I intended...