inducer / pudb

Full-screen console debugger for Python
https://documen.tician.de/pudb/
Other
2.99k stars 229 forks source link

Fix critical bug when re-entering IPython 8.0.0 (and later) external shell #533

Closed vsydorov closed 2 years ago

vsydorov commented 2 years ago

I've found a bug with recent IPython 8.0.0 shell, which disrupts my personal workflow. Opening the external IPython shell (via !) only works properly the first time, namespace gets disrupted afterwards. You can verify this by calling globals() within the IPython shell and comparing results after the first and second time you enter the shell.

Here's a little fix for this bug:

inducer commented 2 years ago

Thanks! This isn't beautiful, but I'd be OK with merging it.

vsydorov commented 2 years ago

Hi, I've fixed E:501 that was causing that linter failure. Also made edits to reflect that the bug was introduced in version 8.0.0 of IPython. I went down the version history of IPython, up to the last supported (7.10.0) by current pudb version. Didn't notice any issues caused by the proposed fix.

Versions checked:

inducer commented 2 years ago

Thanks for taking a thorough look!