Terry J. Reedy <tjre...@udel.edu> 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 <rep...@bugs.python.org> <https://bugs.python.org/issue41859> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com