diff --git a/Mac/Demo/PICTbrowse/PICTbrowse.py b/Mac/Demo/PICTbrowse/PICTbrowse.py
index 4aabf67..412716e 100644
--- a/Mac/Demo/PICTbrowse/PICTbrowse.py
+++ b/Mac/Demo/PICTbrowse/PICTbrowse.py
@@ -47,7 +47,7 @@
 		self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
 	
 	def quit(self, *args):
-		raise self
+		self._quit()
 		
 	def showPICT(self, resid):
 		w = PICTwindow(self)
diff --git a/Mac/Demo/PICTbrowse/PICTbrowse2.py b/Mac/Demo/PICTbrowse/PICTbrowse2.py
index 588cc0b..c2d9c17 100644
--- a/Mac/Demo/PICTbrowse/PICTbrowse2.py
+++ b/Mac/Demo/PICTbrowse/PICTbrowse2.py
@@ -51,7 +51,7 @@
 		self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
 	
 	def quit(self, *args):
-		raise self
+		self._quit()
 		
 	def showPICT(self, resid):
 		w = PICTwindow(self)
diff --git a/Mac/Demo/cgi.html b/Mac/Demo/cgi.html
index 3932b28..c2369cf 100644
--- a/Mac/Demo/cgi.html
+++ b/Mac/Demo/cgi.html
@@ -30,11 +30,6 @@
 MiniApplication is a tiny replacement for <code>FrameWork.Application</code>,
 suitable if your application does not need windows and such. 
 
-<blockquote>Actually, Framework.Application has a problem for AE Servers,
-due to the way it expects to be quit through an exception, and raising an exception
-while inside an Apple Event handler is a very bad idea. This will be fixed.
-</blockquote>
-
 AEServer is a bit of glue that does part of the appleevent decoding for you. You
 call <code>installaehandler</code> passing it the class and id (4-char strings)
 of the event you have a handler for and the handler callback routine. When the
@@ -45,7 +40,7 @@
 
 You can test AEServer by double-clicking it. It will react to the standard
 run/open/print/quit OSA commands. If it is running as a normal python script and you
-drag a file onto the interpreter the script will tell you what event is got. <p>
+drag a file onto the interpreter the script will tell you what event it got. <p>
 
 <h2>A Minimal CGI script</h2>
 
diff --git a/Mac/Demo/example2.html b/Mac/Demo/example2.html
index aebe73d..936cfad 100644
--- a/Mac/Demo/example2.html
+++ b/Mac/Demo/example2.html
@@ -85,8 +85,8 @@
 menu bar and the main event loop and event dispatching. In the
 <CODE>__init__</CODE> routine we first let the base class initialize
 itself, then we create our modeless dialog and finally we jump into
-the main loop. The main loop continues until <CODE>self</CODE> is
-raised, which we will do when the user selects "quit". When we create
+the main loop. The main loop continues until we call <CODE>self._quit</CODE>,
+which we will do when the user selects "quit". When we create
 the instance of <CODE>MyDialog</CODE> (which inherits
 <CODE>DialogWindow</CODE>, which inherits <CODE>Window</CODE>) we pass
 a reference to the application object, this reference is used to tell
@@ -97,8 +97,8 @@
 The <CODE>makeusermenus()</CODE> method (which is called sometime
 during the Application <CODE>__init__</CODE> routine) creates a File
 menu with a Quit command (shortcut command-Q), which will callback to
-our quit() method. <CODE>Quit()</CODE>, in turn, raises 'self' which
-causes the mainloop to terminate. <p>
+our quit() method. <CODE>Quit()</CODE>, in turn, calls <CODE>_quit</CODE> which
+causes the mainloop to terminate at a convenient time. <p>
 
 Application provides a standard about box, but we override this by
 providing our own <CODE>do_about()</CODE> method which shows an about
diff --git a/Mac/Demo/example2/InterslipControl-2.py b/Mac/Demo/example2/InterslipControl-2.py
index 4945864..90d57dd 100644
--- a/Mac/Demo/example2/InterslipControl-2.py
+++ b/Mac/Demo/example2/InterslipControl-2.py
@@ -51,7 +51,7 @@
 		self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
 	
 	def quit(self, *args):
-		raise self
+		self._quit()
 		
 	def do_about(self, *args):
 		f = Dlg.GetNewDialog(ID_ABOUT, -1)
diff --git a/Mac/Demo/imgbrowse/imgbrowse.py b/Mac/Demo/imgbrowse/imgbrowse.py
index 56d6d31..ff778bf 100644
--- a/Mac/Demo/imgbrowse/imgbrowse.py
+++ b/Mac/Demo/imgbrowse/imgbrowse.py
@@ -81,7 +81,7 @@
 		self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit)
 	
 	def quit(self, *args):
-		raise self
+		self._quit()
 		
 	def opendoc(self, *args):
 		fss, ok = macfs.StandardGetFile() # Any file type
diff --git a/Mac/Demo/textedit.html b/Mac/Demo/textedit.html
index d56ea0b..606c668 100644
--- a/Mac/Demo/textedit.html
+++ b/Mac/Demo/textedit.html
@@ -108,8 +108,7 @@
 
 Oh yes: the <code>quit</code> callback does a little magic too. It closes all windows, and only if this
 succeeds it actually quits. This gives the user a chance to cancel the operation if some files are unsaved.
-Quitting itself is also a bit strange: you raise <code>self</code> to break out of the main loop. This bit
-of idiom was invented by Guido, so blame him:-). <p>
+<p>
 
 Lastly, there is the <code>idle</code> method, called by the Application base class when no event
 is available. It is forwarded to the active window, so it can blink the text caret. <p>
diff --git a/Mac/Demo/textedit/ped.py b/Mac/Demo/textedit/ped.py
index 3999dae..5c2d0f6 100644
--- a/Mac/Demo/textedit/ped.py
+++ b/Mac/Demo/textedit/ped.py
@@ -295,7 +295,7 @@
 			w.close()
 		if self._windows:
 			return
-		raise self
+		self._quit()
 		
 	#
 	# Edit menu
diff --git a/Mac/Demo/waste/htmled.py b/Mac/Demo/waste/htmled.py
index 15b9035..e56b607 100644
--- a/Mac/Demo/waste/htmled.py
+++ b/Mac/Demo/waste/htmled.py
@@ -730,7 +730,7 @@
 			w.close()
 		if self._windows:
 			return
-		raise self
+		self._quit()
 		
 	#
 	# Edit menu
diff --git a/Mac/Demo/waste/swed.py b/Mac/Demo/waste/swed.py
index dc5de6a..8107434 100644
--- a/Mac/Demo/waste/swed.py
+++ b/Mac/Demo/waste/swed.py
@@ -558,7 +558,7 @@
 			w.close()
 		if self._windows:
 			return
-		raise self
+		self._quit()
 		
 	#
 	# Edit menu
diff --git a/Mac/Demo/waste/wed.py b/Mac/Demo/waste/wed.py
index d4f08f4..6ddb79b 100644
--- a/Mac/Demo/waste/wed.py
+++ b/Mac/Demo/waste/wed.py
@@ -368,7 +368,7 @@
 			w.close()
 		if self._windows:
 			return
-		raise self
+		self._quit()
 		
 	#
 	# Edit menu
