Index: tests/exceptions/.expect/interact.txt
===================================================================
--- tests/exceptions/.expect/interact.txt	(revision 3eb5a47849aa6054acbc7a319ad4cf0f46de50a3)
+++ tests/exceptions/.expect/interact.txt	(revision 6ec07e5f9016c92f73237be92c20ecdd0fba5795)
@@ -14,2 +14,8 @@
 resumption catch, will terminate
 inner termination catch
+
+throwing resume moon
+resumption moon catch, will terminate
+termination catch
+throwing resume star
+resumption star catch
Index: tests/exceptions/.expect/resume.txt
===================================================================
--- tests/exceptions/.expect/resume.txt	(revision 3eb5a47849aa6054acbc7a319ad4cf0f46de50a3)
+++ tests/exceptions/.expect/resume.txt	(revision 6ec07e5f9016c92f73237be92c20ecdd0fba5795)
@@ -25,2 +25,6 @@
 caught second exception
 recaught first exception
+
+inner catch
+inner catch
+outer catch
Index: tests/exceptions/.expect/terminate.txt
===================================================================
--- tests/exceptions/.expect/terminate.txt	(revision 3eb5a47849aa6054acbc7a319ad4cf0f46de50a3)
+++ tests/exceptions/.expect/terminate.txt	(revision 6ec07e5f9016c92f73237be92c20ecdd0fba5795)
@@ -24,2 +24,5 @@
 caught second exception
 recaught first exception
+
+inner catch
+outer catch
Index: tests/exceptions/interact.cfa
===================================================================
--- tests/exceptions/interact.cfa	(revision 3eb5a47849aa6054acbc7a319ad4cf0f46de50a3)
+++ tests/exceptions/interact.cfa	(revision 6ec07e5f9016c92f73237be92c20ecdd0fba5795)
@@ -86,5 +86,4 @@
 		printf("outer terminate catch (error)\n");
 	}
-#if 0
 	printf("\n");
 
@@ -111,4 +110,3 @@
 		printf("outermost catch (error)\n");
 	}
-#endif
 }
Index: tests/exceptions/resume.cfa
===================================================================
--- tests/exceptions/resume.cfa	(revision 3eb5a47849aa6054acbc7a319ad4cf0f46de50a3)
+++ tests/exceptions/resume.cfa	(revision 6ec07e5f9016c92f73237be92c20ecdd0fba5795)
@@ -99,3 +99,17 @@
 		printf("caught second exception (bad location)\n");
 	}
+	printf("\n");
+
+	// Check successive operations.
+	try {
+		try {
+			THROW_RESUME(&(zen){});
+			THROW_RESUME(&(zen){});
+		} catchResume (zen *) {
+			printf("inner catch\n");
+		}
+		THROW_RESUME(&(zen){});
+	} catchResume (zen *) {
+		printf("outer catch\n");
+	}
 }
Index: tests/exceptions/terminate.cfa
===================================================================
--- tests/exceptions/terminate.cfa	(revision 3eb5a47849aa6054acbc7a319ad4cf0f46de50a3)
+++ tests/exceptions/terminate.cfa	(revision 6ec07e5f9016c92f73237be92c20ecdd0fba5795)
@@ -99,3 +99,17 @@
 		printf("caught second exception (bad location)\n");
 	}
+	printf("\n");
+
+	// Check successive operations.
+	try {
+		try {
+			THROW(&(zen){});
+			THROW(&(zen){});
+		} catch (zen *) {
+			printf("inner catch\n");
+		}
+		THROW(&(zen){});
+	} catch (zen *) {
+		printf("outer catch\n");
+	}
 }
