Index: tests/coroutine/devicedriver.cfa
===================================================================
--- tests/coroutine/devicedriver.cfa	(revision dc9dd94a59e2fe43d8b0a79b964515e99aedeaaf)
+++ tests/coroutine/devicedriver.cfa	(revision 93c86ac1869d2c8bc7f7e9c3a40448d2489aa9a1)
@@ -10,6 +10,6 @@
 // Created On       : Sat Mar 16 15:30:34 2019
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Apr 20 09:07:19 2019
-// Update Count     : 90
+// Last Modified On : Sat Jun 17 09:11:56 2023
+// Update Count     : 94
 //
 
@@ -18,4 +18,5 @@
 
 enum Status { CONT, MSG, ESTX, ELNTH, ECRC };
+
 coroutine Driver {
 	Status status;
@@ -23,7 +24,8 @@
 }; // Driver
 
-void ?{}( Driver & d, char * m ) { d.msg = m; }
-Status next( Driver & d, char b ) with( d ) {
-	byte = b; resume( d ); return status;
+void ?{}( Driver & d, char * m ) { d.msg = m; }			// constructor
+
+Status next( Driver & d, char b ) with( d ) {			// called by interrupt handler
+	byte = b; resume( d ); return status;				// resume coroutine at last suspend
 } // next
 
@@ -73,13 +75,9 @@
 	  if ( eof( sin ) ) break eof;						// eof ?
 		choose( next( driver, byte ) ) {				// analyse character
-		  case MSG:
-			sout | "msg:" | msg;
-		  case ESTX:
-			sout | "STX in message";
-		  case ELNTH:
-			sout | "message too long";
-		  case ECRC:
-			sout | "CRC failure";
-		  default: ;
+		  case CONT: ;
+		  case MSG: sout | "msg:" | msg;
+		  case ESTX: sout | "STX in message";
+		  case ELNTH: sout | "message too long";
+		  case ECRC: sout | "CRC failure";
 		} // choose
 	} // for
@@ -87,5 +85,4 @@
 
 // Local Variables: //
-// tab-width: 4 //
 // compile-command: "cfa -g -Wall -Wextra devicedriver.cfa" //
 // End: //
