Index: tests/loopctrl.cfa
===================================================================
--- tests/loopctrl.cfa	(revision 61dafb8703b092ab7b68d74e4033a8045b52acc1)
+++ tests/loopctrl.cfa	(revision 85acec947dba4af8e8cd04ac79b95cf499716c78)
@@ -10,6 +10,6 @@
 // Created On       : Wed Aug  8 18:32:59 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Nov  7 16:54:11 2018
-// Update Count     : 62
+// Last Modified On : Wed Dec 12 08:14:44 2018
+// Update Count     : 76
 // 
 
@@ -32,47 +32,49 @@
 S ?-=?( S & t, one_t ) { t.i -= 1; t.j -= 1; return t; }
 ofstream & ?|?( ofstream & os, S v ) { return os | '(' | v.i | v.j | ')'; }
+void & ?|?( ofstream & os, S v ) { (ofstream)(os | v); if ( getANL( os ) ) nl( os ); }
 
 int main() {
-	while () { sout | "empty"; break; }			sout | endl;
-	do { sout | "empty"; break; } while ();		sout | endl;
-	for () { sout | "empty"; break; }			sout | endl | endl;
+	sout | nlOff;										// turn off auto newline
+	while () { sout | "empty"; break; }					sout | nl;
+	do { sout | "empty"; break; } while ();				sout | nl;
+	for () { sout | "empty"; break; }					sout | nl;
 
-	for ( 0 ) { sout | "A"; }					sout | "zero" | endl;
-	for ( 1 ) { sout | "A"; }					sout | endl;
-	for ( 10 ) { sout | "A"; }					sout | endl;
-	for ( 1 ~= 10 ~ 2 ) { sout | "B"; }			sout | endl;
-	for ( 10 -~= 1 ~ 2 ) { sout | "C"; }		sout | endl;
-	for ( 0.5 ~ 5.5 ) { sout | "D"; }			sout | endl;
-	for ( 5.5 -~ 0.5 ) { sout | "E"; }			sout | endl | endl;
+	for ( 0 ) { sout | "A"; }							sout | "zero" | nl;
+	for ( 1 ) { sout | "A"; }							sout | nl;
+	for ( 10 ) { sout | "A"; }							sout | nl;
+	for ( 1 ~= 10 ~ 2 ) { sout | "B"; }					sout | nl;
+	for ( 10 -~= 1 ~ 2 ) { sout | "C"; }				sout | nl;
+	for ( 0.5 ~ 5.5 ) { sout | "D"; }					sout | nl;
+	for ( 5.5 -~ 0.5 ) { sout | "E"; }					sout | nl | nl;
 
-	for ( i; 10 ) { sout | i; }					sout | endl;
-	for ( i; 1 ~= 10 ~ 2 ) { sout | i; }		sout | endl;
-	for ( i; 10 -~= 1 ~ 2 ) { sout | i; }		sout | endl;
-	for ( i; 0.5 ~ 5.5 ) { sout | i; }			sout | endl;
-	for ( i; 5.5 -~ 0.5 ) { sout | i; }			sout | endl;
-	for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; }	sout | endl;
-	for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; }	sout | endl | endl | endl;
+	for ( i; 10 ) { sout | i; }							sout | nl;
+	for ( i; 1 ~= 10 ~ 2 ) { sout | i; }				sout | nl;
+	for ( i; 10 -~= 1 ~ 2 ) { sout | i; }				sout | nl;
+	for ( i; 0.5 ~ 5.5 ) { sout | i; }					sout | nl;
+	for ( i; 5.5 -~ 0.5 ) { sout | i; }					sout | nl;
+	for ( ui; 2u ~= 10u ~ 2u ) { sout | ui; }			sout | nl;
+	for ( ui; 10u -~= 2u ~ 2u ) { sout | ui; }			sout | nl | nl | nl;
 
 	enum { N = 10 };
-	for ( N ) { sout | "N"; }					sout | endl;
-	for ( i; N ) { sout | i; }					sout | endl;
-	for ( i; N -~ 0 ) { sout | i; }				sout | endl | endl | endl;
+	for ( N ) { sout | "N"; }							sout | nl;
+	for ( i; N ) { sout | i; }							sout | nl;
+	for ( i; N -~ 0 ) { sout | i; }						sout | nl | nl | nl;
 
 	const int start = 3, comp = 10, inc = 2;
-	for ( i; start ~ comp ~ inc + 1 ) { sout | i; } sout | endl | endl;
+	for ( i; start ~ comp ~ inc + 1 ) { sout | i; }		sout | nl | nl;
 
-	sout | endl;
-	for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | endl;
-	for ( s; (S){10,10} ) { sout | s; } sout | endl;
-	sout | endl;
-	for ( s; (S){0} ~ (S){10,10} ) { sout | s; } sout | endl;
-	for ( s; (S){0} ~ (S){10,10} ~ (S){1} ) { sout | s; } sout | endl;
-	for ( s; (S){0} ~= (S){10,10} ) { sout | s; } sout | endl;
-	for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | endl;
-	sout | endl;
-	for ( s; (S){10,10} -~ (S){0} ) { sout | s; } sout | endl;
-	for ( s; (S){10,10} -~ (S){0} ~ (S){1} ) { sout | s; } sout | endl;
-	for ( s; (S){10,10} -~= (S){0} ) { sout | s; } sout | endl;
-	for ( s; (S){10,10} -~= (S){0} ~ (S){1} ) { sout | s; } sout | endl;
+	sout | nl;
+	for ( S s = (S){0}; s < (S){10,10}; s += (S){1} ) { sout | s; } sout | nl;
+	for ( s; (S){10,10} ) { sout | s; } sout | nl;
+	sout | nl;
+	for ( s; (S){0} ~ (S){10,10} ) { sout | s; }		 sout | nl;
+	for ( s; (S){0} ~ (S){10,10} ~ (S){1} ) { sout | s; } sout | nl;
+	for ( s; (S){0} ~= (S){10,10} ) { sout | s; }		 sout | nl;
+	for ( s; (S){0} ~= (S){10,10} ~ (S){1} ) { sout | s; } sout | nl;
+	sout | nl;
+	for ( s; (S){10,10} -~ (S){0} ) { sout | s; }		 sout | nl;
+	for ( s; (S){10,10} -~ (S){0} ~ (S){1} ) { sout | s; } sout | nl;
+	for ( s; (S){10,10} -~= (S){0} ) { sout | s; }		 sout | nl;
+	for ( s; (S){10,10} -~= (S){0} ~ (S){1} ) { sout | s; } sout | nl;
 }
 
