##// END OF EJS Templates
fix uncaught `BdbQuit` exceptions on ipdb `exit`...
fix uncaught `BdbQuit` exceptions on ipdb `exit` - `BdbQuit` is now handled in the top-most scope of `InteractiveShell.run_code`. This ensures that `BdbQuit` is correctly handled but can still do its job of breaking out of all user code/loops/further breakpoint requests. Hopefully will work better than previous attempts, which put the `BdqQuit` handling in `Pdb.set_trace` - fixes: - jupyterlab/jupyterlab#12501 - refs: - ipython/ipython#876 - ipython/ipython#1273 - ipython/ipython#4474 - ipython/ipython#5306 - ipython/ipython#9731 - ipython/ipython#9942 - ipython/ipython#9950 - ipython/ipython#10006 - ipython/ipython#12378

File last commit:

r23700:8e864e7c
r27658:fc235985
Show More
ulinecache.py
21 lines | 684 B | text/x-python | PythonLexer
"""
This module has been deprecated since IPython 6.0.
Wrapper around linecache which decodes files to unicode according to PEP 263.
"""
import functools
import linecache
from warnings import warn
getline = linecache.getline
# getlines has to be looked up at runtime, because doctests monkeypatch it.
@functools.wraps(linecache.getlines)
def getlines(filename, module_globals=None):
"""
Deprecated since IPython 6.0
"""
warn(("`IPython.utils.ulinecache.getlines` is deprecated since"
" IPython 6.0 and will be removed in future versions."),
DeprecationWarning, stacklevel=2)
return linecache.getlines(filename, module_globals=module_globals)