diff -r eca161a355d4 Lib/tkinter/__init__.py --- a/Lib/tkinter/__init__.py Sat May 14 21:29:03 2016 -0700 +++ b/Lib/tkinter/__init__.py Sun May 15 12:18:43 2016 +0300 @@ -431,6 +431,7 @@ class Misc: if self._tclCommands is not None: for name in self._tclCommands: #print '- Tkinter: deleted command', name + self.tk.call('after', 'cancel', name) self.tk.deletecommand(name) self._tclCommands = None def deletecommand(self, name): @@ -616,13 +617,16 @@ class Misc: given as first parameter.""" try: data = self.tk.call('after', 'info', id) + except TclError: + return + self.tk.call('after', 'cancel', id) + try: # In Tk 8.3, splitlist returns: (script, type) # In Tk 8.4, splitlist may return (script, type) or (script,) script = self.tk.splitlist(data)[0] self.deletecommand(script) except TclError: pass - self.tk.call('after', 'cancel', id) def bell(self, displayof=0): """Ring a display's bell.""" self.tk.call(('bell',) + self._displayof(displayof))