Fix inputhook integration - Pass inputhook as an argument to Promptsesion.run(). (#14241)...
Fix inputhook integration - Pass inputhook as an argument to Promptsesion.run(). (#14241)
See:
https://github.com/prompt-toolkit/python-prompt-toolkit/issues/1809
To summarize:
- In prompt_toolkit, some changes were done to get rid of a deprecation
warning related to the usage of `set_event_loop()` on Python 3.12. It
looks like IPython did had a workaround for the deprecation warning, but
Xonsh for instance did not. Now, the code that was fixed in
prompt_toolkit breaks input hooks in IPython.
- The right thing to do would be to accept the input hook as an argument
in prompt_toolkit, which is what this PR does:
https://github.com/prompt-toolkit/python-prompt-toolkit/pull/1810
- For IPython, we have to do a similar change to pass it as an argument
(this PR).
It's not well tested (I'm not using IPython with inputhooks myself). I'm
also not very familiar myself with IPython's code base.
I think it requires some coordination. I'm not sure if there's a way to
be backward compatible. I guess if I push a new prompt_toolkit version
with the fix on my side, nothing will break, but input hooks will for
sure not work on any Python version until this is merged.
We should probably set the minimum prompt_toolkit version after merging
this.