mod from Joe Strout: when quitting, catch errors in window.close() methods and ignore them. Otherwise one can never quit.
diff --git a/Mac/Tools/IDE/PythonIDEMain.py b/Mac/Tools/IDE/PythonIDEMain.py
index b869359..ae5f0e3 100644
--- a/Mac/Tools/IDE/PythonIDEMain.py
+++ b/Mac/Tools/IDE/PythonIDEMain.py
@@ -228,7 +228,10 @@
 		PyConsole.output.writeprefs()
 		PyEdit.searchengine.writeprefs()
 		for window in self._windows.values():
-			rv = window.close()
+			try:
+				rv = window.close() # ignore any errors while quitting
+			except:
+				rv = 0   # (otherwise, we can get stuck!)
 			if rv and rv > 0:
 				return
 		self.quitting = 1