Index: tests/coroutine/.expect/fmtLines.txt
===================================================================
--- tests/coroutine/.expect/fmtLines.txt	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/.expect/fmtLines.txt	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -16,7 +16,7 @@
 difi  ed B  y :   Pete  r A.  
  Buh  r//   Last   Mod  ifie  
-d On   : M  on S  ep 1  8 11  
-:35:  57 2  017/  / Up  date  
- Cou  nt       :   31/  /#in  
+d On   : T  ue D  ec 1  1 23  
+:31:  12 2  018/  / Up  date  
+ Cou  nt       :   32/  /#in  
 clud  e <f  stre  am.h  fa>#  
 incl  ude   <cor  outi  ne.h  
@@ -34,46 +34,45 @@
 t )   {      if   ( fm  t.g   
 != 0   ||   fmt.  b !=   0 )  
- sou  t |   endl  ;}vo  id m  
-ain(   For  mat   & fm  t )   
-{	fo  r (   ;; )   {		  				  
-				  // f  or a  s ma  ny c  
-hara  cter  s		f  or (   fmt  
-.g =   0;   fmt.  g <   5; f  
-mt.g   +=   1 )   {		/  / gr  
-oups   of   5 bl  ocks  			f  
-or (   fmt  .b =   0;   fmt.  
-b <   4; f  mt.b   +=   1 )   
-{	//   blo  cks   of 4   cha  
-ract  ers	  			f  or (   ;;   
-) {	  				  		//   for   new  
-line   cha  ract  ers	  				  
-susp  end(  );		  			i  f (   
-fmt.  ch !  = '\  n' )   bre  
-ak;	  	//   igno  re n  ewli  
-ne		  		}   // f  or		  		so  
-ut |   fmt  .ch;  				  			/  
-/ pr  int   char  acte  r			  
-} //   for  			s  out   | "   
- ";	  				  			/  / pr  int   
-bloc  k se  para  tor	  	} /  
-/ fo  r		s  out   | en  dl;	  
-				  				  // p  rint   gro  
-up s  epar  ator  	} /  / fo  
-r} /  / ma  invo  id p  rt(   
-Form  at &   fmt  , ch  ar c  
-h )   {      fmt  .ch   = ch  
-;      res  ume(   fmt   );}  
- //   prti  nt m  ain(  ) {	  
-Form  at f  mt;	  char   ch;  
-	for   ( ;  ; )   {		s  in |  
- ch;  				  				  		//   rea  
-d on  e ch  arac  ter	    if  
- ( e  of(   sin   ) )   brea  
-k;		  				  	//   eof   ?		p  
-rt(   fmt,   ch   );	}   //   
-for}   //   main  // L  ocal  
- Var  iabl  es:   ////   tab  
--wid  th:   4 //  // c  ompi  
-le-c  omma  nd:   "cfa   fmt  
-Line  s.c"   ///  / En  d: /  
-/
+ sou  t |   nl;}  void   mai  
+n( F  orma  t &   fmt   ) {	  
+for   ( ;;   ) {  				  				  
+		//   for   as   many   cha  
+ract  ers	  	for   ( f  mt.g  
+ = 0  ; fm  t.g   < 5;   fmt  
+.g +  = 1   ) {	  	//   grou  
+ps o  f 5   bloc  ks		  	for  
+ ( f  mt.b   = 0  ; fm  t.b   
+< 4;   fmt  .b +  = 1   ) {	  
+// b  lock  s of   4 c  hara  
+cter  s			  	for   ( ;  ; )   
+{			  				  // f  or n  ewli  
+ne c  hara  cter  s			  		su  
+spen  d();  				  	if   ( fm  
+t.ch   !=   '\n'   ) b  reak  
+;		/  / ig  nore   new  line  
+				  } //   for  				  sout  
+ | f  mt.c  h;		  				  	//   
+prin  t ch  arac  ter	  		}   
+// f  or		  	sou  t |   "  "  
+;			  				  	//   prin  t bl  
+ock   sepa  rato  r		}   //   
+for	  	sou  t |   nl;	  				  
+				  // p  rint   gro  up s  
+epar  ator  	} /  / fo  r} /  
+/ ma  invo  id p  rt(   Form  
+at &   fmt  , ch  ar c  h )   
+{      fmt  .ch   = ch  ;     
+ res  ume(   fmt   );}   //   
+prti  nt m  ain(  ) {	  Form  
+at f  mt;	  char   ch;  	for  
+ ( ;  ; )   {		s  in |   ch;  
+				  				  		//   rea  d on  
+e ch  arac  ter	    if   ( e  
+of(   sin   ) )   brea  k;		  
+				  	//   eof   ?		p  rt(   
+fmt,   ch   );	}   //   for}  
+ //   main  // L  ocal   Var  
+iabl  es:   ////   tab  -wid  
+th:   4 //  // c  ompi  le-c  
+omma  nd:   "cfa   fmt  Line  
+s.c"   ///  / En  d: /  /
Index: tests/coroutine/.in/fmtLines.txt
===================================================================
--- tests/coroutine/.in/fmtLines.txt	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/.in/fmtLines.txt	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Sun Sep 17 21:56:15 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Sep 18 11:35:57 2017
-// Update Count     : 31
+// Last Modified On : Tue Dec 11 23:31:12 2018
+// Update Count     : 32
 //
 
@@ -27,5 +27,5 @@
 
 void ^?{}( Format & fmt ) {
-    if ( fmt.g != 0 || fmt.b != 0 ) sout | endl;
+    if ( fmt.g != 0 || fmt.b != 0 ) sout | nl;
 }
 
@@ -42,5 +42,5 @@
 			sout | "  ";								// print block separator
 		} // for
-		sout | endl;									// print group separator
+		sout | nl;									// print group separator
 	} // for
 } // main
Index: tests/coroutine/fibonacci.c
===================================================================
--- tests/coroutine/fibonacci.c	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/fibonacci.c	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jun  8 07:29:37 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug 18 11:21:58 2018
-// Update Count     : 24
+// Last Modified On : Tue Dec 11 21:57:33 2018
+// Update Count     : 25
 //
 
@@ -39,5 +39,5 @@
 	Fibonacci f1, f2;
 	for ( 10 ) {										// print N Fibonacci values
-		sout | next( f1 ) | next( f2 ) | endl;
+		sout | next( f1 ) | next( f2 );
 	} // for
 }
Index: tests/coroutine/fibonacci_1.c
===================================================================
--- tests/coroutine/fibonacci_1.c	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/fibonacci_1.c	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Thu Apr 26 23:20:08 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug 18 11:21:02 2018
-// Update Count     : 13
+// Last Modified On : Tue Dec 11 21:57:54 2018
+// Update Count     : 14
 // 
 
@@ -36,5 +36,5 @@
 	Fibonacci f1, f2;
 	for ( 10 ) {										// print N Fibonacci values
-		sout | next( f1 ) | next( f2 ) | endl;
+		sout | next( f1 ) | next( f2 );
 	} // for
 }
Index: tests/coroutine/fmtLines.c
===================================================================
--- tests/coroutine/fmtLines.c	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/fmtLines.c	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Sun Sep 17 21:56:15 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 16 08:20:54 2018
-// Update Count     : 45
+// Last Modified On : Tue Dec 11 21:58:49 2018
+// Update Count     : 47
 //
 
@@ -34,5 +34,5 @@
 			sout | "  ";								// print block separator
 		} // for
-		sout | endl;									// print group separator
+		sout | nl;										// print group separator
 	} // for
 } // main
@@ -43,5 +43,5 @@
 
 void ^?{}( Format & fmt ) with( fmt ) {
-	if ( g != 0 || b != 0 ) sout | endl;
+	if ( g != 0 || b != 0 ) sout | nl;
 }
 
@@ -52,4 +52,5 @@
 int main() {
 	Format fmt;
+	sout | nlOff;										// turn off auto newline
 
   eof: for () {											// read until end of file
Index: tests/coroutine/pingpong.c
===================================================================
--- tests/coroutine/pingpong.c	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/pingpong.c	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Wed Sep 20 11:55:23 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug 18 11:31:11 2018
-// Update Count     : 28
+// Last Modified On : Tue Dec 11 21:58:06 2018
+// Update Count     : 29
 //
 
@@ -40,5 +40,5 @@
 void main( PingPong & pingpong ) {						// ping's starter ::main, pong's starter ping
 	for ( pingpong.N ) {								// N ping-pongs
-		sout | pingpong.name | endl;
+		sout | pingpong.name;
 		cycle( *pingpong.part );
 	} // for
Index: tests/coroutine/prodcons.c
===================================================================
--- tests/coroutine/prodcons.c	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/prodcons.c	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Mon Sep 18 12:23:39 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug 18 12:55:10 2018
-// Update Count     : 51
+// Last Modified On : Tue Dec 11 21:58:25 2018
+// Update Count     : 52
 //
 
@@ -32,12 +32,12 @@
 		int p1 = random( 100 );
 		int p2 = random( 100 );
-		sout | p1 | " " | p2 | endl;
+		sout | p1 | " " | p2;
 		int status = delivery( *c, p1, p2 );
-		sout | " $" | money | endl;
-		sout | status | endl;
+		sout | " $" | money;
+		sout | status;
 		receipt += 1;
 	}
 	stop( *c );
-	sout | "prod stops" | endl;
+	sout | "prod stops";
 }
 int payment( Prod & prod, int money ) {
@@ -68,12 +68,12 @@
 	int money = 1, receipt;
 	for ( ; ! done; ) {
-		sout | p1 | " " | p2 | endl;
-		sout | " $" | money | endl;
+		sout | p1 | " " | p2;
+		sout | " $" | money;
 		status += 1;
 		receipt = payment( *p, money );
-		sout | " #" | receipt | endl;
+		sout | " #" | receipt;
 		money += 1;
 	}
-	sout | "cons stops" | endl;
+	sout | "cons stops";
 }
 int delivery( Cons & cons, int p1, int p2 ) {
@@ -92,5 +92,5 @@
 	srandom( /* getpid() */ 103 );						// fixed seed for testing
 	start( prod, 5, cons );
-	sout | "main stops" | endl;
+	sout | "main stops";
 }
 
Index: tests/coroutine/runningTotal.c
===================================================================
--- tests/coroutine/runningTotal.c	(revision 69efc321135e2dc1cafe0bbe7c5fb3b1c85fecc3)
+++ tests/coroutine/runningTotal.c	(revision 200fcb3c496b08f843f691550554b21d786aad38)
@@ -10,6 +10,6 @@
 // Created On       : Wed Dec  6 08:05:27 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 16 08:22:29 2018
-// Update Count     : 3
+// Last Modified On : Tue Dec 11 21:59:00 2018
+// Update Count     : 4
 //
 
@@ -42,5 +42,5 @@
 	RunTotal rntl;
 	for ( i; 10 ) {
-		sout | i | add( rntl, i ) | endl;
+		sout | i | add( rntl, i );
 	} // for
 }
