Description
Normally in the Python console, if you've typed a line but haven't run it yet, pressing Ctrl + C discards what you've typed, displays KeyboardInterrupt
without a stack trace, and starts a new line.
After importing JuliaCall, this behavior changes. Pressing Ctrl + C on its own appears to do nothing - you can still type on the current line. But when you press Enter, you get a KeyboardInterrupt
with a stack trace. Everything you've typed between Ctrl + C and Enter may get executed - or it may not.
For example, normally if you type "fo", then press Ctrl + C, then type "o = 1", then press Enter, it discards the "fo" and assigns "o = 1":
>>> fo
KeyboardInterrupt
>>> o = 1
>>> o
1
After importing JuliaCall, it still assigns o = 1, but looks like this:
>>> import juliacall
>>> foo = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyboardInterrupt
>>> o
1
But if o was already defined, the assignment fails:
>>> import juliacall
>>> o = 0
>>> foo = 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyboardInterrupt
>>> o
0