Remove __ret_value__
prior to writing to console
#1057
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What I did
Fix a recursion error within the console when attempting to print the output of
globals()
orlocals()
.Fixes #1014
How I did it
The bug was due to how console output is generated - under the hood,
globals()
is mutated to__ret_value__ = globals()
and then__ret_value__
is printed. However, because the return value contains__ret_value__
we end up dying recursion death as we try to format dict-inside-dict-inside-dict.The fix is simply to remove
__ret_value__
from locals prior to generating the console output.How to verify it
Open the console and type
locals()
orglobals()
.