Skip to content

Importing JuliaCall interferes with Ctrl + C behavior in Python console #223

Closed as not planned
@Wainberg

Description

@Wainberg

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions