bpo-32207: Improve tk event exception tracebacks in IDLE. (#4703)
When tk event handling is driven by IDLE's run loop, a confusing and distracting queue.EMPTY traceback context is no longer added to tk event exception tracebacks. The traceback is now the same as when event handling is driven by user code. Patch based on a suggestion by Serhiy Storchaka.
This commit is contained in:
parent
21255fc393
commit
1e2fcac497
|
@ -134,13 +134,17 @@ def main(del_exitfunc=False):
|
|||
# exiting but got an extra KBI? Try again!
|
||||
continue
|
||||
try:
|
||||
seq, request = rpc.request_queue.get(block=True, timeout=0.05)
|
||||
request = rpc.request_queue.get(block=True, timeout=0.05)
|
||||
except queue.Empty:
|
||||
request = None
|
||||
# Issue 32207: calling handle_tk_events here adds spurious
|
||||
# queue.Empty traceback to event handling exceptions.
|
||||
if request:
|
||||
seq, (method, args, kwargs) = request
|
||||
ret = method(*args, **kwargs)
|
||||
rpc.response_queue.put((seq, ret))
|
||||
else:
|
||||
handle_tk_events()
|
||||
continue
|
||||
method, args, kwargs = request
|
||||
ret = method(*args, **kwargs)
|
||||
rpc.response_queue.put((seq, ret))
|
||||
except KeyboardInterrupt:
|
||||
if quitting:
|
||||
exit_now = True
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
Improve tk event exception tracebacks in IDLE.
|
||||
When tk event handling is driven by IDLE's run loop, a confusing
|
||||
and distracting queue.EMPTY traceback context is no longer added
|
||||
to tk event exception tracebacks. The traceback is now the same
|
||||
as when event handling is driven by user code. Patch based on a
|
||||
suggestion by Serhiy Storchaka.
|
Loading…
Reference in New Issue