Alternative stricter fix: explicit isoformat(" "),
I think we need to avoid registering a default adapter, especially if
CPython want to remove them.
So we are going to call .isoformat(" ") explicitly. For backward compat
we'll keep the delimiter as " ", but we might want to consider using the
default of T later on, but still keeping in mind that old history have a
space.
Fix: change parso logging level (#14119)
This PR closes #10946.
We set explicitely the log level of parso so that global changes to log level do not trigger parso logging.
feat(debugger): support . (dot) as an argument of the l(ist) command in ipdb (#14121)
Support `.` as an argument of the `l(ist)` command in the debugger. This
works in pdb but not work in ipdb right now (see [the relevant
issue](https://github.com/gotcha/ipdb/issues/203)).
Add hack to change traceback syntax highlighting (#14138)
Similar to #13756, add a hack to configure the Pygments style for syntax
highlighting of tracebacks.
This does not change default behavior.
To use the hack, add to ipython_config.py:
from IPython.core.ultratb import VerboseTB
VerboseTB._tb_highlight_style = "pastie"
Mitigates #13953.
Refuse to install event loop hooks when not using `prompt_toolkit` (#14132)
Without this, `%gui` is effectively a no-op but the user thinks it
works.
For example. If running `ipython`:
```
In [1]: import matplotlib; matplotlib.use('QtAgg'); from matplotlib import pyplot; pyplot.ion(); pyplot.plot([1, 2, 3, 4])
Installed qt6 event loop hook.
Out[1]: [<matplotlib.lines.Line2D at 0x1ba2f59d2a0>]
```
The window appears and responds as expected.
If running `ipython --simple-prompt`, the user would see the same
output, when in fact no event loop hook was installed since it's not
supported without `prompt_toolkit`. The resulting Qt window is
unresponsive because the event loop is not running, i.e. with
`--simple-prompt`, Qt windows should block (but `pyplot` doesn't/can't
know to do that)
With this PR, the user will see:
```
In [1]: import matplotlib; matplotlib.use('QtAgg'); from matplotlib import pyplot; pyplot.ion(); pyplot.plot([1, 2, 3, 4])
Cannot install event loop hook for "qt" when running with `--simple-prompt`.
NOTE: Tk is supported natively; use Tk apps and Tk backends with `--simple-prompt`.
Out[1]: [<matplotlib.lines.Line2D at 0x170be0c0310>]
```
They'll still get an unresponsive Qt window, but they'll at least be
told this can't work (while anything using Tk will work just fine).
Fix clearing output references with `%reset out` (#14133)
This should fix #14129. Namely the second reference to the output is
stored in `user_ns_hidden`. That was already cleared during hard
`%reset` but was not cleared when using `%reset out`. Manual
`gc.collect()` is still required.