Terry J. Reedy <[email protected]> added the comment:
I presume that at some point you got a completion box. It disappeared with
this traceback and when >>> appeared, you continued. What python binary?
3.8.5? 3.8.6? My diagnosis so far.
__call__ is a method in CallWrapper. The wrapped func is multicall.handler.
The exception was caught in the
except: self.widget._report_exception()
clause of __call__, but it should never have been raised.
keyrelease_event catches internal errors. If the insert cursor is not where
IDLE expects, because "# we didn't catch an event which moved the insert", IDLE
just closes box rather than trying to recover. I presume that this should
never happen. But when it did, a ValueError was raised for the reason given.
In this error state, multicall.event_delete makes an invalid assumption.
The simple and immediate fix would be to catch the very rare delete failure. A
better and harder fix would be to catch the uncaught insert-moving event. For
this, it would have been nice if keyrelease displayed a message identifying the
released key with an email request. I should try to reproduce the failure
(including on Mac) by trying every key (or type of key) that might possibly
move the cursor.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41859>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com