From 4fe69ba01c39dccaee70d8ece9f2fceebd65a834 Mon Sep 17 00:00:00 2001
From: Terry Jan Reedy <tjreedy@udel.edu>
Date: Thu, 9 Oct 2014 23:13:36 -0400
Subject: Issue #20167: revise condition to accomodate message change.

---
 Lib/idlelib/MultiCall.py | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/Lib/idlelib/MultiCall.py b/Lib/idlelib/MultiCall.py
index ee31f30..251a84d 100644
--- a/Lib/idlelib/MultiCall.py
+++ b/Lib/idlelib/MultiCall.py
@@ -60,8 +60,7 @@ _modifier_names = dict([(name, number)
 # destroyed before .__del__ methods here are called.  The following
 # is used to selectively ignore shutdown exceptions to avoid
 # 'Exception ignored' messages.  See http://bugs.python.org/issue20167
-APPLICATION_GONE = '''\
-can't invoke "bind" command:  application has been destroyed'''
+APPLICATION_GONE = "application has been destroyed"
 
 # A binder is a class which binds functions to one type of event. It has two
 # methods: bind and unbind, which get a function and a parsed sequence, as
@@ -108,9 +107,7 @@ class _SimpleBinder:
                 self.widget.unbind(self.widgetinst, self.sequence,
                         self.handlerid)
             except tkinter.TclError as e:
-                if e.args[0] == APPLICATION_GONE:
-                    pass
-                else:
+                if not APPLICATION_GONE in e.args[0]:
                     raise
 
 # An int in range(1 << len(_modifiers)) represents a combination of modifiers
@@ -243,9 +240,7 @@ class _ComplexBinder:
             try:
                 self.widget.unbind(self.widgetinst, seq, id)
             except tkinter.TclError as e:
-                if e.args[0] == APPLICATION_GONE:
-                    break
-                else:
+                if not APPLICATION_GONE in e.args[0]:
                     raise
 
 # define the list of event types to be handled by MultiEvent. the order is
@@ -412,9 +407,7 @@ def MultiCallCreator(widget):
                         try:
                             self.__binders[triplet[1]].unbind(triplet, func)
                         except tkinter.TclError as e:
-                            if e.args[0] == APPLICATION_GONE:
-                                break
-                            else:
+                            if not APPLICATION_GONE in e.args[0]:
                                 raise
 
     _multicall_dict[widget] = MultiCall
-- 
cgit v0.12

